要想提高CPU的运算能力.doc_第1页
要想提高CPU的运算能力.doc_第2页
要想提高CPU的运算能力.doc_第3页
要想提高CPU的运算能力.doc_第4页
要想提高CPU的运算能力.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

要想提高CPU的运算能力要想提高CPU的运算能力,有两种途径:一种是提高每一个运算部件的效率,制造出更强大的核心,以质取胜;另一种是增加运算部件的数量,在CPU内放置更多的核心,以量取胜。这两种思路,引领着通用CPU在几十年的发展道路上快速成长,它们为了提升运算能力这个同样的目标,又互相支撑、促进和竞争,同时衍生出更多富有创新价值的设计? CPU 作者: Frame 选择更多的核心,还是更强的核心,已经不只是用户的任务,而成为整个CPU业界关注的焦点。在传统思路的基础上,我们也看到了越来越多的架构革新。对用户来说,采用哪种方式提升性能并不重要,因为对于运算能力增强的渴望,是永无止境的。站在应用的角度上讲,CPU用户需要更强大的处理能力,制造商在相同成本上提供更出色的性能,就能获得市场。以性能价格比来衡量一套系统或对比多套系统,是永远没有错的。 下文正是根据不同厂商提供的不同产品,为大家带来更多思想上的启示,让大家更明确地认识和选择适合自己的CPU产品。 本世纪初,Intel明确表示,多核心CPU解决方案是摩尔定律发展的必然产物。Intel反复表明着自己的鲜明观点:主频不变的情况下,从单核增加到多核,功耗增加是线性的,更容易控制,摩尔定律晶体管增加的趋势完全可以转换到集成多核心上来。同时AMD也在努力着,花费巨大代价设计出原生多核特别是原生4核,以及AMD努力推广,都表明了它鲜明的立场与发展方向。在各个市场层面,IBM与SUN,Intel和AMD,还有更多厂商,无一例外都在积极实践着多核心CPU的制造和应用。在桌面级市场上,多核心CPU同样正在以惊人的速度普及。 毋庸置疑,以多核心作为未来CPU的发展趋势是明智之举。但就目前的发展水平和市场情况来看,多核心CPU正在面临种种考验和压力,多核之路的确坎坷不平。 1 这里提及的多核心,实际上是我们现在能够看到实际产品的对等多核心CPU,如Athlon64 X2、Core 2 Duo和Core 2 Quad等CPU。所谓多核心CPU技术,是在同一个硅晶片(Die)上集成了多个独立物理核心,在实际工作中多颗核心协同工作,以达到性能倍增的目的。多核心技术在应用上的优势有两个方面,一方面是为用户带来更强大的计算性能,更重要的一方面则是可满足用户同时进行多任务处理和多任务计算环境的要求。单核心CPU在面对多个任务时,必须为不同的任务分配CPU资源,我们可以形象理解为:单核心CPU将CPU资源变成时间片,多个任务采用时间片轮转的方式共享资源。 面对日益增长的CPU主频和晶体管规模,芯片巨头Intel逐渐意识到:这样继续下去,自己的制造技术将不能应对迅猛增长的功耗和发热。AMD方面,受制于较短的CPU流水线和相对缓慢的工艺更新,也面临着主频难以提升的窘境。 形成鲜明对比的是,IBM早在2001年成功产出了世界上第一款双核处理器POWER 4,POWER4处理器拥有2个64位PowerPC 核心。应该说多核之门由IBM打开,Intel与AMD迅速迈进,加速了整个业界的多核进程。但是多核处理器仅是解决方案的一部分,更大的问题在于软件开发没有跟上硬件开发的进展。 2 在现在单线程应用广泛的情况下,程序绝大多数情况下只能使用到一个核心。这是由于CPU在工作时是受软件高度控制的。它要处理的问题是软件提出的,问题到了CPU中变成具体线程,如果软件编写时使用单线程,它在被CPU执行时只能调用一个线程。多余的那个内核和其他线程由于没有权限执行而浪费。 尽管利用并行CPU提高总体软件性能的概念至少已经出现近40年了,但是在开发工具方面,使这种方法进入商业市场的东西却非常少。可供程序员迅速开发出来的程序还是单线程的。在广为关注的游戏编程方面,并行多线程编程是非常困难的,在桌面级多核CPU诞生的最初几年里,所有游戏开发商都把并行游戏编程视为噩梦。 在软件下,我们的CPU普遍遇到上图这种环境。双核心CPU的一个核心运行系统检查和一些后台程序,另一个核心运行前台任务。这样使用似乎合理,但是我们仔细思考后就会发现,Core1基本是空闲的,因为后台程序在任何时刻,都只会消耗微小的CPU资源。 而在实际应用中,不可否认有一些程序对多核心做出了非常好的优化,如上图。它们可以将自己分身,放在不同的核心上同时运行,这样提供了非常可观的性能增益。在优化最合理的情况下,多核心CPU甚至可以做到性能线性增长,也就是说每增加一个核心都能带来等同于第一个核心那样强大的性能。 3 针对此情况,我们必须要引入加速比的定义,才可以为大家更清楚地解释多核心CPU带来的性能提升。加速比定义为串行算法在单CPU上的运行时间与并行算法在多CPU上的并行运行时间之比。加速比可以告诉我们,性能是否与核心数目的增长同步。下图能够简单表示多核心CPU的加速比情况。 图中P代表性能,N代表核心数目。正如上面所介绍,如果得到了有效的多线程优化,性能将会基本呈线性增长,更多的核心自然带来更高的性能,用户每次增加核心数目,都能感觉到性能的大幅度增长。而运行单线程软件时,无论使用多少个核心,性能和单核心基本没有区别。 图上图,在某专业服务器上,多CPU共同处理一个任务的表现,纵轴为加速比,在这个实例中,我们可以对上文所提到的加速比概念更加明晰。由于程序做出了有效优化,图中的多CPU服务器性能优异。 如上图,我们不能忽视,在大规模并行运算领域,增加大量的CPU,是提高系统运算能力的关键。这条路在今天继续发挥巨大作用,但由于应用环境不同,我们不能简单地以大规模并行运算的发展来预测多核CPU的未来进程。多核心CPU的另外一个重要优势是在繁多的程序压力下,能提供非常快速的响应能力。而在单核心CPU上,由于多个程序共享CPU资源,往往造成响应不及时,如果遇到异常情况,系统可能在一段时间内由于CPU资源被占用而完全失去响应能力。 4 在对等多核心的组织形式方面,Intel和AMD执行着各自不同的多核架构。在2005年,我们看到了Smithfield登场,这款被用来替换掉Tejas的处理器实际上是两枚Presoctt粘在一同一枚管芯达成的双核方案,显然当时Intel把更多精力放在下一代双核心Conroe身上。这时AMD双核心Athlon 64 X2架构使用了Direct Connect Architecture,增添了“系统请求接口”System Request Interface,SRI和“交叉开关”Crossbar Switch。它们的作用是对两个核心的任务进行仲裁、及实现核与核之间的通信。 随后Intel原生的双核心Conroe架构诞生了,它与双核心Athlon 64 X2的争斗一直延续到今天。为了继续压制AMD,Intel在有了第一次“粘贴”的经验下,很快推出了四核心CPU,如下图,它的构成方式同样很简单。两颗核心封装在一个芯片上,却需要通过前端总线并绕行北桥芯片进行通信。 但图片告诉我们的不只是Core 2 Quad的核心构成方式,Intel用数据证明,4颗核心(2个双核CPU)封装在一起并没有争用总线资源。如图,1333MHz前端总线可以提供8.5GB/s带宽,而Core 2 Quad在数据密集型操作中,最多使用了其中的5 GB/s带宽。AMD方面,为了应对对手的4核CPU,在Core 2 Quad之后发布了AMD 4X4平台,它使用2颗双核CPU通过HyperTransport总线直接通信,但由于没有封装在一个芯片上,会带来很多麻烦。在经历了诸多磨难后,终于在2007年9月发布了迟到的“原生4核”CPU,它同样使用了Direct Connect Architecture,显著提高了多核心效率。 现在让我们看看桌面市场上,各款多核心CPU的表现,因为要讨论架构不同架构带来的影响,所以我们把对比重点放在方面,得分会因具体CPU性能而异,但架构特性会明显体现。 这里我们使用的软件是CINEBENCH 9.5,它对多核心做出了非常好的优化,而且结果方便分析。CINEBENCH的渲染任务可以在同一台计算机上测试多达16个处理器的性能,让系统性能达到极限。 CPU型号 C2D-E6300 A64 X2 5000 C2D-QX6850 AMD FX74 Yorkfield 2.33GHz 单核得分 313 385 387 457 429 多核得分 579 712 1234 1463 1371 1.85 1.85 3.19 3.20 3.20 我们看到,经过优化设计的Core 2 Duo和Athlon 64 X2表现优秀,形象地说:111.85,这个加速幅度是比较大的,达到了较高的利用率。Core 2 Quad虽然没有争用系统总线资源,但是由于核心的交换效率和交换延迟,和两个CPU分置的AMD 4X4平台基本相当。AMD FX74由于采用的高效的互连总线,加速比让我们满意,但两颗CPU的功耗和平台成本总体高于Core 2 Quad。Intel的45纳米Penryn家族Yorkfield仍然使用了两个双核CPU使用前端总线连接的形式,在芯片组的支持下,达到了3.20的加速比。我们没有获得准确的原生四核设计的AMD K10 Barcelona系列得分,但它的加速比应该高于使用HyperTransport总线连接的AMD 4X4平台。 单核CPU是否走到了尽头?广大的用户是否只能购买更多的核心,并期待得到完美的优化,才能得到满意的性能线性增长的不仅是性能,还有功耗和发热,谁来为这些“副产品”买单? 1 向着性能增长这同一个目标,更多芯片厂商做出了不懈探索。为了证明更强的核心仍然是我们追求的重要目标,打开多核心CPU之门的IBM,做出了近乎于背道而驰的举动新一代高性能芯片POWER 6,维持上一代芯片双核心设计,而增强了单个核心的性能。 IBM POWER 6处理器,继续驻足双核,但是重新擎起性能的“杀手锏”频率。据IBM介绍,伴随芯片主频的提升,散热问题会变得越来越严重,一方面这将消耗更多的电能,另一方面,散热问题也会限制芯片的制造材质。这个观点已被业界一致认同,并为多核心CPU做了强劲的催化剂,但POWER 6告诉我们,更强大的核心性能完全有待挖掘,应用新技术和新思路,我们可以让单个核心继续高速发展。 2 对于竞争对手对更多线程处理能力的追求,IBM有不同看法,多线程技术虽可提高同一时间内并行处理任务的效率和能力,但是却需要软件开发商提供相关软件的支持。以IBM AS400来说,早在1995年就实现了双线程,但是IBM当时在改造支持双线程的系统软件上花了很多功夫。 在运算性能需求更多的商业领域,目前很多企业的应用却还非常需要单线程技术,单线程编程的软件仍然占到绝大多数。在这类应用中,如果提高了CPU的核心频率,将给用户带来非常实际立竿见影的性能提升。在这个角度上POWER 6等一些单核心性能强大的CPU设计更符合市场实际,贴近用户需求。 3 让我们再次回到加速比的定义上,但这次我们把频率分段,简单探讨频率的提升让我们获得的实际性能。 如上图,P代表性能,F代表运行频率。在排除其他因素的干扰下,一个对性能需求强大的程序,在CPU频率不断增长的情况下,性能呈现非常稳定的线性增长而不间断。这个程序不需要做多线程优化,即使它已经是一个经过多线程编程的程序,同样在单个CPU上可以获得如图的性能提升。 单核心CPU对于性能的提高简单得多,在用户实际应用中,也容易得多。回到频率的最初定义我们可以发现,CPU的主频表示在CPU内数字脉冲信号震荡的速度,它决定了CPU的运行速度。在核心架构相同情况下,频率的提升比任何优化都要来得更直接、更实际。但是芯片厂商不得不面对单核心频率、规模和集成度提升带来的巨大压力。功耗和发热的控制几乎完全建立在芯片制造工艺的提升上,IBM此次举动,也是建立在攻破65纳米SOI绝缘硅、10层金属互连工艺、高K金属介质、三维芯片堆叠和Airgap等技术的基础之上,显然这个代价是巨大的。 更强大的内核与更多的内核数量并不矛盾,任何厂商每一次新核心的设计都是以单核为原本,在提高了单核性能的基础上,可以增添内核数量,Penryn是这样,K10的单核改进更加明显。这其中包括Intel在多媒体方面增益显著的全新的SSE4指令集,AMD公布的未来让单核心性能最大化甚至可以与RISC架构抗衡的SSE5指令集?对于处理器的发展趋势而言,多核化与高主频不是互相矛盾的选项。实际上,未来的处理器设计趋势,将是在上述选项中选择若干项,然后再结合成本因素,最终选择出一个平衡和优化的方案。 如上图,Intel很早就意识到,提升User Experience(用户体验)是永恒不变的目标,同时提高主频或者说制造更强大的核心,永远是正确的选择。 我们需要更多的核心,还是更强的核心?在这两种选择之上,我们还能有别的思路来拓展性能,实现飞跃吗?相对于对等多核心概念,越来越多的厂商和技术人员开始涉足异构多核心。简而言之就是一块芯片可以集成多个核心,但这些核心不是完全一样的。异构多核心芯片上集成有主要核心、辅助核心,甚至有专门负责处理某种问题的核心?我们以几个生动的例子让大家更清晰地了解这种思路。 1Cell IBM为索尼PS3游戏机定制的Cell是一枚拥有9个硬件核心的多核处理器,它的多核结构同以往的多核心产品完全不同。在Cell芯片中,只有一个核心拥有完整的功能,被称为主处理器,其余8个核心都是专门用于浮点运算的协处理器。 9个CPU内核采用“18模式”,一个Power架构RISC型64位CPU内核“PPE”和8个浮点处理用的32位8路SIMD型CPU内核“SPE”(Synergistic Processing Element)。Power微处理器内核是Cell处理器的大脑,是运行设备的主操作系统,并为8个“协处理器”分配任务。图为Cell的核心电路分布,从图中可以清晰看到Cell的9个内核。 PPE可同时执行2个线程的SMT架构,协处理核心SPE可同时执行2条指令超标量,并配备有128位128个的通用寄存器。1个SPE的最大单精度浮点运算速度为32GFLOPS,8个SPE合计为256GFLOPS(2560亿次浮点运算每秒),接近超级计算机的水准,远远超越目前所有的X86和RISC处理器。作为对比,Intel的4路Montecito安腾(双内核)系统也仅获得45Gigaflops的浮点性能。 Cell只花费了2.34亿个晶体管,功耗在80-100W左右,能源利用效率比现在设计最佳的RISC和X86处理器都高出数十倍,这足以说明Cell专用、多核设计思想的优越性。Cell的成功,让我们看到了异构多核心强大的力量,也促使我们把目光放得更远。 2Many Core 如果说Cell的出色设计给我们指明了新的方向,Intel和AMD的未来计划则更能引起PC消费市场的关注,并且明确地为我们演绎了通用处理器(以X86架构为代表)和专用处理器(以DSP数字信号处理器为代表)在多媒体专用任务方面的效能竞争。 如上图,在处理某一专用任务时,按照现在的发展速度,通用CPU在2015年前后消耗75W电力,也只能达到DSP大约60的效能。而DSP由于使用专用逻辑电路,在这一任务上使用2W的电力,也能大幅度超越通用CPU。同时由于DSP芯片构成构造相对简单,频率提升也要容易很多。 在图形芯片GPU方面,AMD新一代GPURadeon HD 2000系列芯片已经为DSP做出了非常成功的实践。AMD集成在2400、2600图形芯片当中的UVD,即通用视频解码器,主要负责硬件解码H.264、VC-1等HD视频。UVD区域在2400、2600系列图形芯片当中的面积只有4.7平方毫米,而双核心CPU软解H.264、VC-1等HD视频所动用到的晶体管面积有126平方毫米,同理CPU电力消耗更为庞大,如下图。 Many Core基于上述理论,将CPU分为两个部分:传统的X86架构通用CPU是第一个部分,它执行所有通用任务,并负责对专用任务进行分派;第二个部分是很多的DSP处理单元,用于某些特殊任务的处理。处理器将高负载的专用任务转交给DSP执行之后,主核心的运算压力就大大减轻,系统整体效能将获得明显提升。 在2005年的IDF技术峰会上,Intel对外公布了Many Core超多核发展蓝图。随着时间推移,Many Core计划越来越明晰,我们可以肯定它将成为Intel未来的X86处理器架构。第一代Many Core架构处理器可能采用“3个通用X86核心16个DSP内核”的组合,如下图。大约到2010年,我们有望看到第一代Many Core处理器出台,第一代Many Core并没有做出整体架构的重大调整,从布局和核心重要性上说,这对Intel只是一次试水。 第一代Many Core计划以Intel四核CPU为基础,将其中的一个单核置换为16个体积小巧的DSP内核,实现了战略计划的平稳过度,也符合Intel制定的时间表。 Many Core计划将在2015年过渡到第二代,这个过度同样会非常平滑,中间会有很多过程。现在计划的第二代Many Core计划中,DSP核心将取代传统的通用X86核心地位,成为芯片主体,如下图。 第二代Many Core处理器,将拥有8个通用X86核心、64个专用DSP逻辑。Intel从这往后将逐步引入Many Core Array架构,不断增强DSP的数量以及执行能力,通用核心的地位将随着时间推移不断减弱,直到最后完全可能实现以DSP占主导地位的专用化运算模式。 3HyperTransportTorrenza 面对Intel如此强大长远的计划,AMD会有什么反应呢?HyperTransport协处理器系统很自然地浮出水面。从名称上我们可以得知,Many Core是一种芯片架构,而HyperTransport协处理器系统则需要其他因素的配合。AMD的这项计划将利用现有的HyperTransport总线连接架构,对多路服务器系统进行拓展。传统的AMD多路CPU架构如图: HyperTransport总线在整个架构中连接起多颗CPU,多路CPU架构能够为用户提供一个非常高效的运算平台。但面对专用协处理器的优异特性,AMD决定将其中一颗CPU置换为一个协处理器。AMD没有自己开发这颗协处理器,而是开放了Torrenza计划,希望以此为契机,建立一个以AMD为中心的企业生态圈。这样将利益与伙伴共享,同时也降低了研发新架构的投入,分担风险。 AMD给出的具体解决方案如上图,将八路Opteron中的一颗Opteron处理器置换成矢量协处理器,以此实现矢量计算性能的大幅度增长,而Opteron平台本身不需要作任何形式的变动。在未来,这种拓展架构也可以延伸到PC领域,例如在PC中挂接基于HyperTransport总线的浮点协处理器、物理协处理器、视频解码器、专门针对Java程序的硬件解释器,甚至可以是由nVIDIA或ATI开发的图形处理器。为达成上述目标,AMD必须设计出一个高度稳定的统一接口方便用户进行扩展,而借助各种各样的协处理器,AMD64系统的性能将获得空前强化。 AMD在完成对ATI收购之后又发布了Fusion“融合”计划,在CPU内整合GPU。另外,最近AMD还发布了Steam产品,即通用GPU(GPGPU),使用显卡进行通用计算。AMD这三项计划实际上是统一的“加速计算”,即Fusion和Steam都是Torrenza平台的一部分。 在已经实施的Torrenza计划中,AMD开放最新的处理器架构、HT总线插槽技术、以便伙伴厂商可以共同开发协处理器,最终合作形成更优化且高度整合的应用方案。在异构多核心飞速前进的路途中,Intel和AMD两个巨头的产品计划中,更多地体现了它们的企业文化和整体战略。 SoC 片上系统(SoC:System-on-a-chip)指的是在单个芯片上集成一个完整的系统,对所有或部分必要的电子电路进行包分组的技术。所谓完整的系统一般包括CPU、存储器、以及外围电路等。 SoC是与其它技术并行发展的,如绝缘硅(SOI),它可以提供增强的时钟频率,从而降低微芯片的功耗。 片上系统技术通常应用于小型的,日益复杂的客户电子设备。例如,声音检测设备的片上系统是在单个芯片上为所有用户提供包括音频接收端、模数转换器(ADC)、微处理器、必要的存储器以及输入输出逻辑控制等设备,此外系统芯片还应用于单芯片无线产品。 虽然在这个领域,Intel还是新手,但它在2007春季IDF上已经拟定了自己的计划Tolapai与Silverthorne。媒体与分析人士认为,作为半导体界巨人的Intel从未涉足过SoC领域,SoC可能是Intel公司长期技术策略最为新奇的组成部分,在某种程度上标志着Intel公司的新航程。 当然我们要看到,Intel在很久以前就已经研发出了Xscale架构的 SoC并作为自己的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论