多核与多CPU

概述

  多内核(multicore chips)是指在一枚处理器(chip)中集成两个或多个完整的计算引擎(内核)。多核技术的开发源于工程师们认识到,仅仅提高单核芯片(one chip)的速度会产生过多热量且无法带来相应的性能改善,先前的处理器产品就是如此。他们认识到,在先前产品中以那种速率,处理器产生的热量很快会超过太阳表面。即便是没有热量问题,其性价比也令人难以接受,速度稍快的处理器价格要高很多。

  英特尔工程师们开发了多核芯片,使之满足“横向扩展”(而非“纵向扩充”)方法,从而提高性能。该架构实现了“分治法”战略。通过划分任务,线程应用能够充分利用多个执行内核,并可在特定的时间内执行更多任务。多核处理器是单枚芯片(也称为“硅核”),能够直接插入单一的处理器插槽中,但操作系统会利用所有相关的资源,将它的每个执行内核作为分立的逻辑处理器。通过在两个执行内核之间划分任务,多核处理器可在特定的时钟周期内执行更多任务。

  多核架构能够使用的软件更出色地运行,并创建一个促进未来的软件编写更趋完善的架构。尽管认真的软件厂商还在探索全新的软件并发处理模式,但是,随着向多核处理器的移植,已有软件无需被修改就可支持多核平台。操作系统专为充分利用多个处理器而设计,且无需修改就可运行。为了充分利用多核技术,应用开发人员需要在程序设计中融入更多思路,但设计流程与对称多处理 (SMP) 系统的设计流程相同,并且单线程应用也继续运行。

  得益于线程技术的应用在多核处理器上运行时将显示出卓越的性能可扩充性。此类软件包括多媒体应用(内容创建、编辑,以及本地和数据流回放)、工程和其他技术计算应用以及诸如应用服务器和数据库等中间层与后层服务器应用。

多核技术能够使服务器并行处理任务,此前,这可能需要使用多个处理器,多核系统更易于扩充,并且能够在更纤巧的外形中融入更强大的处理性能,这种外形所用的功耗更低、计算功耗产生的热量更少。多核技术是处理器发展的必然。

为什么要发展多核

  为什么不能用单核的设计达到用户对处理器性能不断提高的要求呢?答案是功耗问题限制了单核处理器不断提高性能的发展途径。

  作为计算机核心的处理器就是将输入的数字化的数据和信息,进行加工和处理,然后将结果输出。假定计算机的其他子系统不存在瓶颈的话,那么影响计算机性能高低的核心部件就是处理器。反映在指令上就是处理器执行指令的效率。

  处理器性能 = 主频 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的创新技术;英特尔® 智能功率特性则是降低微架构功耗的技术。[1]

  一些芯片的厂商指出,当处理器的频率达到某种程度后,处理器在工作量的要求会比速度的要求要大,且0.13微米所含的晶体管已很高,将来65纳米和45纳米,其1组光罩的成本会倍增。但是,这种成本成倍的增长并不会给厂商们带来相应的收入增长。且发热量和干扰的因素的介入使得集成度和处理器的频率已经越来越趋近于一个极限。

  因此,使摩尔定律失效的有可能是技术,有可能是经济效益。

  处理器实际性能是处理器在每个时钟周期内所能处理器指令数的总量,因此增加一个内核,理论上处理器每个时钟周期内可执行的单元数将增加一倍。原因很简单,因为它可以并行的执行指令,含有几个内核,单位时间可以执行的指令数量上限就会增加几倍。而在芯片内部多嵌入几个内核的难度要远远比加大内核的集成度要简单很多。于是,多核就能够在不提高生产难度的前提下,用多个低频率核心产生超过高频率单核心的处理效能,特别是服务器产品需要面对大量并行数据,多核心分配任务更能够提高工作效率。可以看作一种多处理器协作的微缩形式,并且达到更加的性能价格比,一套系统达到多套系统的性能。

  多核的介入,使得摩尔定律在另一个层面的意义上,避免了尴尬的局面。从单核到双核到多核的发展就证明了摩尔定律还是非常正确的。从单核到双核再到多核的发展,可能是摩尔定律问世以来在芯片发展历史上速度最快的性能提升过程。"

多核的出现是技术发展的必然性

  上世纪八九十年代以来,推动微处理器性能不断提高的因素主要有两个:半导体工艺技术的飞速进步和体系结构的不断发展。半导体工艺技术的每一次进步都为微处理器体系结构的研究提出了新的问题,开辟了新的领域;体系结构的进展又在半导体工艺技术发展的基础上进一步提高了微处理器的性能。这两个因素是相互影响,相互促进的。一般说来,工艺和电路技术的发展使得处理器性能提高约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.设计成本的考虑

  随着处理器结构复杂性的不断提高,和人力成本的不断攀升,设计成本随时间呈线性甚至超线性的增长。多核处理器通过处理器IP等的复用,可以极大降低设计的成本。同时模块的验证成本也显著下降。

  6.体系结构发展的必然

  超标量(Superscalar)结构和超长指令字(VLIW)结构在高性能微处理器中被广泛采用。但是它们的发展都遇到了难以逾越的障碍。Superscalar结构使用多个功能部件同时执行多条指令,实现指令级的并行(Instruction-Level Parallelism,ILP)。但其控制逻辑复杂,实现困难,研究表明,Superscalar结构的ILP一般不超过8。VLIW结构使用多个相同功能部件执行一条超长的指令,但也有两大问题:编译技术支持和二进制兼容问题。

注:

摩尔定理:当价格不变时,集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,性能也将提升一倍。换言之,每一美元所能买到的电脑性能,将每隔18个月翻两倍以上。这一定律揭示了信息技术进步的速度。

多CPU

        多CPU对称处理(SMP,Symmetric Multi-Processing)技术,是指在一个计算机上汇集了一组处理器(多CPU),各CPU之间共享内存子系统以及总线结构。虽然同时使用多个CPU,但是从管理的角度来看,它们的表现就像一台单机一样。随着网络应用水平的提高.只使用单个处理器确实已经很难满足实际应用的需求,此时,就必须借助对称多处理系统,为服务器插满CPU来解决这一矛盾。服务器中最常见的对称多处理系统通常采用2路、4路、6路或8路处理器。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值