解析CPU从单核过渡双核 多核绝不是偶然
06-07
正当双核、四核处理器风头正劲的时候,我们不禁会问,为什么要从单核过渡到双核、四核,甚至是更多的核心?然而这样在CPU内集成多个核心,究竟能给我们带来什么?这些问题成为了我们今天所要讨论的话题。
在多核不断的发展下,英特尔也给出了一个答案-万亿级计算(结构)。它将实现80个内核,256GB/s的移动运算,1万亿次的运算功耗为98W。
在2010年或者更远,万亿次计算产品问世的时候,人们可以看到每个核是具有一定程度的超线程能力,比如说每个核能够处理四条线程。因为如果让每个核都具有多线程的能力,便能让缓存带宽应用发挥得更加充分、未来人们会看在一个系统当中,在一个处理器当中会有不同类型的核,在万亿次级计算的处理器当中,虽然所有的核在架构上都具有兼容性,但这绝不意味着所有核都是相同的,英特尔一定会对不同核做专门任务的分配。比如有一些核是做了媒体和图形功能增强的,有一些核是做网络和通信功能增强的,还有一些核是负责安全。但是它们会共享同一套指令组和共同的架构的基础,这样的一个设计对于编程工作来说,可以让编程变得尽可能简单和具有前后一致性。
那么,多核化趋势正在改变IT计算的面貌。跟传统的单核CPU相比,多核CPU带来了更强的并行处理能力、更高的计算密度和更低的时钟频率,并大大减少了散热和功耗。目前,在几大主要芯片厂商的产品线中,双核、四核甚至八核CPU已经占据了主要地位。下面就让我们来看看为什么CPU内会有更多的核心出现,以及越来越来多的核心数量究竟可以有对我们最终使用有多大的提升?(以下文章摘自博客@英特尔中国)
● 为什么微处理器要从单核转向多核?
自从英特尔在2005年推出了第一代双核处理器之后,我们经常会被用户问到这个问题,为什么微处理要从单核转向多核?计算机上不断涌现的新兴使用模式让最终用户对处理器的处理能力——即性能——提出了更高的要求,并且对性能每年提高的幅度还在不断加速,而多核技术是目前行之有效的方法。
如何将处理器性能提高10倍——采用多核技术
为什么不能用单核的设计达到用户对处理器性能不断提高的要求呢?答案是功耗问题限制了单核处理器不断提高性能的发展途径。
作为计算机核心的处理器就是将输入的数字化的数据和信息,进行加工和处理,然后将结果输出。假定计算机的其他子系统不存在瓶颈的话,那么影响计算机性能高低的核心部件就是处理器。反映在指令上就是处理器执行指令的效率。
处理器性能 = 主频 x IPC
从上面的公式可以看出,衡量处理器性能的主要指标是每个时钟周期内可以执行的指令数(IPC: Instruction Per Clock)和处理器的主频。其实频率就是每秒钟做周期性变化的次数,1秒钟只有1次时钟周期的改变叫1Hz(赫兹)。主频为1GHz 就是1秒钟有10亿个时钟周期。
因此,提高处理器性能就是两个途径:提高主频和提高每个时钟周期内执行的指令数(IPC)。处理器微架构的变化可以改变IPC,效率更高的微架构可以提高IPC从而提高处理器的性能。但是,对于同一代的架构,改良架构来提高IPC的幅度是非常有限的,所以在单核处理器时代通过提高处理器的主频来提高性能就成了唯一的手段。
不幸的是,给处理器提高主频不是没有止境的,从下面的推导中可以看出,处理器的功耗和处理器内部的电流、电压的平方和主频成正比,而主频和电压成正比。
因为:“处理器功耗 正比于 电流x 电压x 电压x 主频”,“主频 正比于 电压”
所以:“处理器功耗 正比于 主频的三次方”
如果通过提高主频来提高处理器的性能,就会使处理器的功耗以指数(三次方)而非线性(一次方)的速度急剧上升,很快就会触及所谓的“频率的墙”(frequency wall)。过快的能耗上升,使得业界的多数厂商寻找另外一个提高处理器性能的因子,提高IPC。
提高IPC可以通过提高指令执行的并行度来实现,而提高并行度有两种途径:一是提高处理器微架构的并行度;二是采用多核架构。
在采用同样的微架构的情况下,为了达到处理器IPC的目的,我们可以采用多核的方法,同时有效地控制功耗的急剧上升。为什么?看看下面的推导。
因为:“处理器功耗 正比于 电流x 电压 x 电压 x 主频”,“IPC 正比于 电流”
所以:“处理器功耗 正比于 IPC”
由单核处理器增加到双核处理器,如果主频不变的话,IPC理论上可以提高一倍,功耗理论上也就最多提高一倍,因为功耗的增加是线性的。而实际情况是,双核处理器性能达到单核处理器同等性能的时候,前者的主频可以更低,因此功耗的下降也是指数方(三次方)下降的。反映到产品中就是双核处理器的起跳主频可以比单核处理器更低,性能更好。
由此可见,将来处理器发展的趋势是:为了达到更高的性能,在采用相同微架构的情况下,可以增加处理器的内核数量同时维持较低的主频。这样设计的效果是,更多的并行提高IPC,较低的主频有效地控制了功耗的上升。
除了多核技术的运用,采用更先进的高能效微架构可以进一步提高IPC和降低功耗——即提高能效。基于英特尔酷睿 架构的英特尔 酷睿 2 双核处理器和至强处理器就是现实中的例子。相比英特尔前一代的NetBurst 微架构(Intel Pentium 4 和Pentium D),酷睿微架构采用的英特尔 宽区动态执行引擎和英特尔 高级数字媒体增强技术,就是提高IPC的创新技术;英特尔 智能功率特性则是降低微架构功耗的技术。
● 多核出现的必然性
摩尔定律:
摩尔老先生最初是1965年为《电子学》写行业展望的时候,第一次写下了这个有名的预言,是说集成电路上的晶体管数目会以每年翻一番的速度增长。当时市面上的集成电路有30来个元件,在研发中的集成电路是60几个。摩尔预言10年后会达到6万个(事实上9年后就达到了这个数字)。这实在是惊人的准确了!虽然这只是一个行业发展估计,摩尔做这个预测还是非常严谨的。到1975年,考虑到电路板上空间的限制,摩尔认为不可能继续保持这样的增长速度,所以修正了他的预言,预测集成电路上的晶体管数目将以每两年翻一番的速度增长。据说后来实际速度是每21个月翻一番。从1965年至今,四十多年了,摩尔的预测一直非常准确,被称为“摩尔定律”真是当之无愧。
Intel估计在到了2017年制程更精细至3nm
那么,集成电路上的晶体管数目会以大约每两年翻一番的速度增长。这越来越多的晶体管究竟对广大用户有什么意义?
我们都知道现在的电脑比多年以前的功能强大多了,差不多二十多来年电脑的性能一直是跟主频挂钩的,主频越高,性能越高。原因是芯片上的晶体管一代比一代多,就能做得更精细,执行指令的节拍(也就是主频)更快。但电路越复杂,消耗的电能就越多,所以散热问题就很突出了,终于成为制约性能提升的瓶颈。记得前两年看到网上一个搞笑图片,在电脑的主板上煎鸡蛋,我可笑不起来。
从另一个角度来看这个问题:芯片上有大量的晶体管,能组成一个巨大的复杂电路,也可以组成很多个小的比较简单的电路。但前者与后者相比,能耗就相差很大了,与之相关的发热也相应有很大差距。多核的道路就是这样出现在我们面前:在一个芯片上建造多个CPU内核,而不是建造单个巨大的CPU。这样就可以在较小的能耗下,让多个CPU共同工作,提高整体性能。摩尔定律告诉我们芯片上的晶体管会以指数增长,我们就能在一个芯片上建造越来越多的功能强大的CPU内核,从而继续提高电脑的性能。今年二月我们在美国发布的“万亿级”80核的研究用芯片,只有指甲盖大小,功耗只有62瓦。在十年前,同样性能的计算机是用大约1万个奔腾Pro芯片组成的超级计算机(1996年,ASCI Red),需要电力500千瓦。
因此,走上了多核道路,电脑就会继续大幅度提高性能,同时成为我们的好帮手。我们有理由相信不会再出现在CPU上摊鸡蛋的现象。
|