多核
1概述
多内核(multicore chips)是指在一枚处理器(chip)中集成两个或多个完整的计算引擎(内核)。多核技术的开发源于工程师们认识到,仅仅提高单核芯片(one chip)的速度会产生过多热量且无法带来相应的性能改善,先前的处理器产品就是如此。他们认识到,在先前产品中以那种速率,处理器产生的热量很快会超过太阳表面。即便是没有热量问题,其性价比也令人难以接受,速度稍快的处理器价格要高很多。
英特尔工程师们开发了多核芯片,使之满足“横向扩展”(而非“纵向扩充”)方法,从而提高性能。该架构实现了“分治法”战略。通过划分任务,线程应用能够充分利用多个执行内核,并可在特定的时间内执行更多任务。多核处理器是单枚芯片(也称为“硅核”),能够直接插入单一的处理器插槽中,但操作系统会利用所有相关的资源,将它的每个执行内核作为分立的逻辑处理器。通过在两个执行内核之间划分任务,多核处理器可在特定的时钟周期内执行更多任务。
多核架构能够使用的软件更出色地运行,并创建一个促进未来的软件编写更趋完善的架构。尽管认真的软件厂商还在探索全新的软件并发处理模式,但是,随着向多核处理器的移植,已有软件无需被修改就可支持多核平台。操作系统专为充分利用多个处理器而设计,且无需修改就可运行。为了充分利用多核技术,应用开发人员需要在程序设计中融入更多思路,但设计流程与对称多处理(SMP) 系统的设计流程相同,并且单线程应用也继续运行。
得益于线程技术的应用在多核处理器上运行时将显示出卓越的性能可扩充性。此类软件包括多媒体应用(内容创建、编辑,以及本地和数据流回放)、工程和其他技术计算应用以及诸如应用服务器和数据库等中间层与后层服务器应用。
多核技术能够使服务器并行处理任务,此前,这可能需要使用多个处理器,多核系统更易于扩充,并且能够在更纤巧的外形中融入更强大的处理性能,这种外形所用的功耗更低、计算功耗产生的热量更少。多核技术是处理器发展的必然。
2发展
作为计算机核心的处理器就是将输入的数字化的数据和信息,进行加工和处理,然后将结果输出。假定计算机的其他子系统不存在瓶颈的话,那么影响计算机性能高低的核心部件就是处理器。反映在指令上就是处理器执行指令的效率。
处理器性能 = 主频 x IPC
从上面的公式可以看出,衡量处理器性能的主要指标是每个时钟周期内可以执行的指令数(IPC: Instruction Per Clock)和处理器的主频。其实频率就是每秒钟做周期性变化的次数,1秒钟只有1次时钟周期的改变叫1Hz(赫兹)。主频为1GHz 就是1秒钟有10亿个时钟周期。
因此,提高处理器性能就是两个途径:提高主频和提高每个时钟周期内执行的指令数(IPC)。处理器微架构的变化可以改变IPC,效率更高的微架构可以提高IPC从而提高处理器的性能。但是,对于同一代的架构,改良架构来提高IPC的幅度是非常有限的,所以在单核处理器时代通过提高处理器的主频来提高性能就成了唯一的手段。
不幸的是,给处理器提高主频不是没有止境的,从下面的推导中可以看出,处理器的功耗和处理器内部的电流、电压的平方和主频成正比,而主频和电压成正比。
因为: “处理器功耗 正比于 电流x 电压 x 电压 x 主频”,“主频 正比于 电压”
所以:“处理器功耗 正比于 主频的三次方”
如果通过提高主频来提高处理器的性能,就会使处理器的功耗以指数(三次方)而非线性(一次方)的速度急剧上升,很快就会触及所谓的“频率的墙”(frequency wall)。过快的能耗上升,使得业界的多数厂商寻找另外一个提高处理器性能的因子,提高IPC。
提高IPC可以通过提高指令执行的并行度来实现,而提高并行度有两种途径:一是提高处理
器微架构的并行度;二是采用多核架构。
因为:“处理器功耗 正比于 电流x 电压 x 电压 x 主频”,“IPC 正比于 电流”
所以:“处理器功耗 正比于 IPC”
由单核处理器增加到双核处理器,如果主频不变的话,IPC理论上可以提高一倍,功耗理论上也就最多提高一倍,因为功耗的增加是线性的。而实际情况是,双核处理器性能达到单核处理器同等性能的时候,前者的主频可以更低,因此功耗的下降也是指数方(三次方)下降的。反映到产品中就是双核处理器的起跳主频可以比单核处理器更低,性能更好。
除了多核技术的运用,采用更先进的高能效微架构可以进一步提高IPC和降低功耗——即提高能效。基于英特尔®酷睿™ 架构的英特尔® 酷睿™ 2双核处理器和至强处理器就是现实中的例子。相比英特尔前一代的NetBurst微架构(Intel® Pentium® 4 和Pentium® D),酷睿微架构采用的英特尔®宽区动态执行引擎和英特尔® 高级数字媒体增强技术,就是提高IPC的创新技术;英特尔® 智能功率特性则是降低微架构功耗的技术。[1]
一些芯片的厂商指出,当处理器的频率达到某种程度后,处理器在工作量的要求会比速度的要求要大,且0.13微米所含的晶体管已很高,将来65纳米和45纳米,其1组光罩的成本会倍增。但是,这种成本成倍的增长并不会给厂商们带来相应的收入增长。且发热量和干扰的因素的介入使得集成度和处理器的频率已经越来越趋近于一个极限。
因此,使摩尔定律失效的有可能是技术,有可能是经济效益。
处理器实际性能是处理器在每个时钟周期内所能处理器指令数的总量,因此增加一个内核,理论上处理器每个时钟周期内可执行的单元数将增加一倍。原因很简单,因为它可以并行的执行指令,含有几个内核,单位时间可以执行的指令数量上限就会增加几倍。而在芯片内部多嵌入几个内核的难度要远远比加大内核的集成度要简单很多。于是,多核就能够在不提高生产难度的前提下,用多个低频率核心产生超过高频率单核心的处理效能,特别是服务器产品需要面对大量并行数据,多核心分配任务更能够提高工作效率。可以看作一种多处理器协作的微缩形式,并且达到更加的性能价格比,一套系统达到多套系统的性能。
多核的介入,使得摩尔定律在另一个层面的意义上,避免了尴尬的局面。从单核到双核到多核的发展就证明了摩尔定律还是非常正确的。从单核到双核再到多核的发展,可能是摩尔定律问世以来在芯片发展历史上速度最快的性能提升过程。"[2]
3必然性
上世纪八九十年代以来,推动微处理器性能不断提高的因素主要有两个:半导体工艺技术的飞速进步和体系结构的不断发展。半导体工艺技术的每一次进步都为微处理器体系结构的研究提出了新的问题,开辟了新的领域;体系结构的进展又在半导体工艺技术发展的基础上进一步提高了微处理器的性能。这两个因素是相互影响,相互促进的。一般说来, 工艺和电路技术的发展使得处理器性能提高约20倍,体系结构的发展使得处理器性能提高约4倍,编译技术的发展使得处理器性能提高约1.4倍。但这种规律性的东西却很难维持。多核的出现是技术发展和应用需求的必然产物。这主要基于以下事实:
1.晶体管时代即将到来
根据摩尔定律,微处理器的速度以及单片集成度每18个月就会翻一番。经过发展,通用微处理器的主频已经突破了4GHz,数据宽度也达到64位。在制造工艺方面也同样以惊人的速度在发展,0.13um工艺的微处理器已经批量生产,90nm工艺以下的下一代微处理器也已问世。照此下去,到2010年左右,芯片上集成的晶体管数目预计超过10亿个。因此,体系结构的研究又遇到新的问题:如何有效地利用数目众多的晶体管?国际上针对这个问题的研究方兴未艾。多核通过在一个芯片上集成多个简单的处理器核充分利用这些晶体管资源,发挥其最大的能效。
2.门延迟逐渐缩短,而全局连线延迟却不断加长
随着VLSI工艺技术的发展,晶体管特征尺寸不断缩小,使得晶体管门延迟不断减少,但互连线延迟却不断变大。当芯片的制造工艺达到0.18微米甚至更小时,线延迟已经超过门延迟,成为限制电路性能提高的主要因素。在这种情况下,由于CMP(单芯片多处理器)的分布式结构中全局信号较少,与集中式结构的超标量处理器结构相比,在克服线延迟影响方面更具优势。
3.符合Pollack规则
按照Pollack规则,处理器性能的提升与其复杂性的平方根成正比。 如果一个处理器的硬件逻辑提高一倍,至多能提高性能40%,而如果采用两个简单的处理器构成一个相同硬件规模的双核处理器,则可以获得70%~80%的性能提升。同时在面积上也同比缩小。
4.能耗不断增长
随着工艺技术的发展和芯片复杂性的增加,芯片的发热现象日益突出。多核处理器里单个核的速度较慢,处理器消耗较少的能量,产生较少的热量。同时,原来单核处理器里增加的晶体管可用于增加多核处理器的核。在满足性能要求的基础上,多核处理器通过关闭(或降频)一些处理器等低功耗技术,可以有效地降低能耗。
5.设计成本的考虑
6.体系结构发展的必然
超标量(Superscalar)结构和超长指令字(VLIW)结构在高性能微处理器中被广泛采用。但是它们的发展都遇到了难以逾越的障碍。Superscalar结构使用多个功能部件同时执行多条指令,实现指令级的并行(Instruction-Level Parallelism,ILP)。但其控制逻辑复杂,实现困难,研究表明,Superscalar结构的ILP一般不超过8。VLIW结构使用多个相同功能部件执行一条超长的指令,但也有两大问题:编译技术支持和二进制兼容问题。
4处理器
未来的主流应用需要处理器具备同时执行更多条指令的能力,但是从单一线程中已经不太可能提取更多的并行性,主要有以下两个方面的原因:一是不断增加的芯片面积提高了生产成本;二是设计和验证所花费的时间变得更长。在处理器结构上,更复杂化的设计也只能得到有限的性能提高。
对单一控制线程的依赖限制了多数应用可提取的并行性,而主流商业应用,如在线数据库事务处理(Online Database Transaction)与网络服务(如Web服务器)等,一般都具有较高的线程级并行性(TLP,Thread Level Parallelism)。为此,研究人员提出了两种新型体系结构:单芯片多处理器(CMP)与同时多线程处理器(Simultaneous Multithreading,SMT),这两种体系结构可以充分利用这些应用的指令级并行性和线程级并行性,从而显著提高了这些应用的性能。
从体系结构的角度看,SMT比CMP对处理器资源利用率要高,在克服线延迟影响方面更具优势。CMP相对SMT的最大优势还在于其模块化设计的简洁性。复制简单设计非常容易,指令调度也更加简单。同时SMT中多个线程对共享资源的争用也会影响其性能,而CMP对共享资源的争用要少得多,因此当应用的线程级并行性较高时,CMP性能一般要优于SMT。此外在设计上,更短的芯片连线使CMP比长导线集中式设计的SMT更容易提高芯片的运行频率,从而在一定程度上起到性能优化的效果。
总之,单芯片多处理器通过在一个芯片上集成多个微处理器核心来提高程序的并行性。每个微处理器核心实质上都是一个相对简单的单线程微处理器或者比较简单的多线程微处理器,这样多个微处理器核心就可以并行地执行程序代码,因而具有了较高的线程级并行性。由于CMP采用了相对简单的微处理器作为处理器核心,使得CMP具有高主频、设计和验证周期短、控制逻辑简单、扩展性好、易于实现、功耗低、通信延迟低等优点。此外,CMP还能充分利用不同应用的指令级并行和线程级并行,具有较高线程级并行性的应用如商业应用等可以很好地利用这种结构来提高性能。单芯片多处理器已经成为处理器体系结构发展的一个重要趋势。
5英特尔
对于用户来说,英特尔酷睿2双核处理器堪称有史以来最令人兴奋的个人电脑核心引擎。根据多个独立调查组织提供的数据显示,该处理器在各种服务器、台式机和游戏基准测试中遥遥领先于其它处理器产品——无论是让 Windows Vista 在开启了全部显示特效的状态下运行如飞,或是畅玩视觉效果惊人的三维游戏,一边听着喜欢的 APE 音乐,一边将网上下载的春节晚会节目刻录到 DVD 上——英特尔酷睿2双核处理器能够满足用户不断升级的多元需求。
未来的多核微处理器
“芥子纳须弥”原是佛门禅语(意为极微小的芥子容纳至高至大之须弥山),却在 21 世纪之初由英特尔变成了现实——由英特尔研发的、指甲盖大小的研究用处理器已可支持万亿次计算——无需太久,人们便可将超级计算机移植至桌面或掌中。
作为多内核技术的先导者,英特尔于 2007 年初煅制出了内含 80内核的可编程处理器,它提供了足以与超级计算机匹敌的强劲性能,且功耗仅 62 瓦,较大多数家用电器更低。毫无疑问,凝聚了英特尔深厚技术积淀、创新前瞻力及精湛制程工艺的 80 内核处理器预示了计算 / 通信技术领域未来的发展趋向——它还证明,在可以预见的未来,摩尔定律定能继续驱动整个 IT 产业高速发展。[3]
6普及
进入2009年,处理器已经由双核升级到四核时代,在斯坦福大学召开的Hot Chips大会上,IBM、富士通、AMD和Intel等众多芯片制造商展示出其六核、八核等多核服务器处理器出现,使得多核之战悄然到来。新产品的诞生意味旧产品的稳定,由此看来四核服务器已经成为市场的中流砥柱。
面对突如其来的金融风暴,即便是站在风口浪尖上的IT行业,不可避免地要同其他行业的共同面对金融危机带来的系列负面效应。这就需要更加实际的应用方案,Nehalem至强5500芯片的发布无疑是“雪中送碳”。如果说2009年3月31日发布之后的上半年是一个新四核市场的推广期,那么2009年下半年是Nehalem至强全面爆发的开始。对于企业级产品来说,服务器也成为市场的降价“新宠儿”,英特尔彻底的宣布45纳米四核时代的普及。
7至强处理
2008年09月,英特尔终于按计划发布了Xeon(至强)7400处理器。该处理器开发代号为“Dunnington”,是英特尔首颗基于x86架构的六核处理器,主要面向注重多线程运算的高端市场。英特尔
表示,Xeon 7400在虚拟机和数据库应用方面进行了很多优化。其二级缓存高达16MB,每个核心都支持虚拟化技术,其虚拟化性能跟以往产品相比提高达50%。
跟四核或双核Xeon处理器相比,六核Xeon 7400处理器的最高主频稍低。它的最高主频仅为2.66GHz,TDP功耗和四核系列相同,为130瓦。而2.4GHz主频的处理器也拥有不错的性能,TDP仅为90瓦。入门级的2.13GHz处理器TDP功耗为65瓦,更适合在瘦服务器或工作站使用。