CPU和处理器是同一个意思吗?
你的电脑上有多少个CPU呢?
CPU核数(cores),颗数(sockets)和逻辑CPU(logical processors)之间的关系是什么?
CPU和处理器(Processor)是同一个意思吗?
是的。如果指计算机系统的话,CPU的中文翻译过来就是中央处理器,全称central processing unit。
一、青铜时代--超线程技术
起初,青铜时代,电脑刚刚被发明不久。主板上只有一块大容量芯片,主要负责数据计算,我们称之为处理器(Processor)。后来,一些大企业为了增加计算机的处理性能,就在主板上增加多个处理器。打比喻来说,就是道路拓宽,单车道变成多车道,允许多台车并行计算。主板上的多个处理器需要通过插槽(socket)才能安装上去,所以,主板上有多少个插槽(socket),这台计算机就有多少个处理器。如下图,红色虚线轮廓部分即为一个处理器。但是,不同的处理器之间的通信必须经过系统总线(SYSTEM BUS),而系统总线的速度很慢,但每个处理器的计算速度很快。因此,系统总线成为了性能瓶颈。
英特尔公司为了解决这个瓶颈问题,发明了超线程技术(HyperThreading),见上图蓝色虚线方框。超线程技术既不拓宽车道,也没有增加计算单元(ALU),仅仅是单层巴士变成了双层巴士。它通过在一个处理器内部增加多份组件,使得多个线程能在一个处理器内部通信和执行,不需要通过系统总线。这就是“超线程”,它指多个线程可以在同一个处理器内部执行。“超线程”制造了在一个CPU中多个处理器并行计算的假象。具体来说,如下图所示,在一个物理CPU内部,存在两组寄存器,从属于两个独立的处理器,但是这两个处理器(LCPU0和LCPU1)实际上共享一组核心计算单元ALU。为了区别,我们称它们为逻辑CPU,因为本质上,它们没有各自独立的硬件计算单元ALU,不算真正意义上的物理CPU。
二、白银时代--多核架构(multi-core architectures)
青铜时代的超线程技术就像单车道上的双层巴士,本质上还是只有一台汽车发动机,跑不快。怎么跑得快呢?增加一台交通工具上内部的发动机数量,让它拥有高铁的动力。所以在白银时代,对芯片的改进主要是将处理器组件做得更小,实现在一个芯片上集成多个处理器,达到并联多个“发动机”的效果。这就是多核架构。为了区别,我们称在同一个芯片上的处理器为“核(core)”。如下图,一个CPU 芯片上有4个处理器。一个四核CPU,并且使用了超线程技术,我们可以看到这四个核都存在于同一个芯片上(CPU chip),它们通过内部的BUS INTERFACE通信。
三、总结
Socket(颗)本意是插槽,颗数代表着主板上可以插多少个芯片。多核架构指的是一个芯片上集成多个处理器,每个处理器叫做为核(core),每个核代表一个独立的物理CPU。超线程技术没有产生新的独立物理CPU,但它能通过共享计算单元能将一个CPU衍生成两个逻辑CPU用。
举例来说,如果我们说一台电脑是2颗4核(2 sockets and 4 cores),代表着它的主板上有2个芯片插槽,每个芯片上有4个CPU(核),因此我们有2*4=8个物理CPU。如果使用了超线程技术,每个CPU衍生出两个逻辑CPU,因此我们有8*2=16个逻辑CPU。
联系客服