词条 | AMD推土机 |
释义 | AMD推土机简介AMD“推土机”是代号Bulldozer(推土机)的全新架构,“推土机”架构最早是在2007年年中提出的,当时计划采用45nm工艺,2009年上半年发布,竞争Intel Nehalem,不过可能是因为45nm K10 Phenom系列进展不顺,新架构被推迟了。在AMD的发展规划中在2009-2010年间都是45nm Phenom打天下,32nm工艺产品要到2011年才会发布,也就是“推土机”架构。 “推土机”是AMD彻底重新设计的核心,将成为AMD下一代高性能处理器技术,用于客户端和服务器领域,相比于Opteron 6100系列会增加33%的核心、大约50%的性能。 作为崭新一代的处理器构架,AMD“推土机”将采用32nm SOI工艺,这让“推土机”相比“Magny-Cours”皓龙处理器可以在不增加功耗的前提下增加33%的核心数量、增加50%的吞吐量。 与AMD之前所有处理器都有所不同的是,“推土机”采用了“模块化”的设计,每个“模块”包含两个处理器核心,这有些像一个启用了SMT的单核处理器。每个核心具有各自的整数调度器和四个专有的管线,两个核心共享一个浮点调度器和两个128位FMAC乘法累加器。 AMD推土机性能介绍AMD FX系列(推土机)由于采用全新的Bulldozer(推土机)微架构,其核心部分采用模块化设计,两个核心被设计为一个模块。那么与以往架构的不同会不会就是造成推土机单核性能下降的原因呢?带着这样的疑问,我们找来AMD上代旗舰Phenom II X6 1090T与推土机FX-8150进行一系列的同频率、同核心数的性能测试,希望就此揭开推土机核心的秘密。 所有的焦点无一例外都放在了推土机多核、多线程的特性上。然而却很少有人关系推土机的微架构的进化,以及由此带来单核性能的改变。与上面这位网友的想法不谋而合,我们本次就为大家带来推土机的单核性能详细测试。 AMD FX系列采用全新的Bulldozer(推土机)微架构,是AMD近十年来,继K8之后的全新CPU微架构。FX-8150作为新一代的旗舰型号,也是目前Bulldozer(推土机)微架构的最高性能代表。因此FX-8150和Phenom II X6 1090T两代旗舰间的对比,最能反映AMD这些年在CPU微架构方面下的功夫。 AMD推土机架构分析一、CMP和SMT 首先有必要来回顾一下CMP和SMT的优劣势: CMP:CMP的方式非常直接,简单来说,CMP是通过“复制”物理核心来扩展处理器在多线程软件中的性能,这是获得最佳性能一种最简单和最有效的方式。但CMP的缺点是制造成本很昂贵,并且也要受到处理器制造工艺的限制,毕竟不能将芯片做的越来越大。并且CMP的方式对负载要求也很高,只有经过适当并行优化的负载才能充分发挥CMP的性能,很多核心的CMP常常会浪费资源,在一些应用中,主频更高、结构更简单的双核和四核处理器就往往可以获得更好的性能。 SMT:SMT是一个相对廉价的技术,比如英特尔的Hyper-Threading,允许每个物理核心运行两个同步线程。SMT的设计思想是充分利用每个核心的资源。如果一个物理核心只有一个执行线程,那么在等待内存中的关键代码或数据的时候,线程处于停顿状态,这样核心的利用率是低下的。而SMT技术允许一个物理核心运行两个或更多的线程,可以根据当前的状况动态进行切换,如果一个线程处于停顿状态等待内存,另一个线程的指令则可以使用这个物理核心的所有执行单元,让物理核心利用的更加充分。 为了让SMT正常工作,处理器的所有代码和存储部分需要被复制或分区。例如,一个双线程SMT处理器需要两套架构寄存器和重命名寄存器,一套给线程A,一套给线程B。另外组成指令窗口的共享指令队列要具备很大的空间,这样指令窗口才能容纳足够多的来自两个线程的指令,让执行单元可以保持在忙碌状态。最后,两个线程任何共享单元,比如处理管线不同部分的指令缓存,都不能被任一个线程独占。换句话说,SMT核心的两个线程需要和另一个紧密的共享资源,保证核心的缓存单元不会空置没有线程利用。 SMT技术对那些不需要核心线程(threads)全负荷运行的多线程负载比较有意义,对于一个双线程SMT设计来说,如果这两个线程都需要花费很长时间等待主内存,那么这个双线程SMT会表现的就一个CMP双核处理器,甚至更加高效——因为它比CMP双核成本要低得多。在这种理想的状况下,一个双线程SMT核心几乎可以等同于一个双核处理器,并且能耗上还要低的多。 但SMT的效率根据负载不同会有很大差异,AMD认为在真实的应用情况中,一个双线程SMT核心仅仅等同于1.3个常规核心的效能,因为很多时候线程都在执行资源而不是等待主内存响应,换句话说,如果主内存不再是瓶颈,SMT的执行单元就过剩了,而一个SMT核心也就不再比一个单纯的核心更高效,毕竟SMT核心需要增加一些电路设计,比一个单纯的核心成本要高一些。 二、推土机架构分析 AMD“推土机”将采用32nmSOI工艺,这让“推土机”相比“马尼库尔”皓龙处理器可以在不增加功耗的前提下增加33%的核心数量、增加50%的吞吐量。与AMD之前所有处理器都有所不同的是,“推土机”采用了“模块化”的设计,每个“模块”包含两个处理器核心,这有些像一个启用了SMT的单核处理器。每个核心具有各自的整数调度器和四个专有的管线,两个核心共享一个浮点调度器和两个128位FMAC乘法累加器。 所不同的,在K10架构中,ALU和AGU共享三个管线(平均1.5个),“推土机”中每个核心整数单元管线的数量增加为4个,2个AGU专有、2个ALU专有。L1缓存也有所不同,在K10架构中,每个核心具有64KB L1指令缓存和64KB L1数据缓存;而“推土机”每个核心具有16KBL1数据缓存、每个模块具有64KB双向L1指令缓存,至于减小的L1缓存是否会影响性能还有待观察。两个核心共享L2缓存,模块之间共享L3缓存及北桥。 AMD“推土机”模块 “模块”和“核心”,这让我们不免会产生混淆,实际对于用户们来说,没必要去刻意的关注“模块”的概念,这只不过是AMD在设计上的称谓,而当产品投放市场的时候,依旧会以核心数量为标识,比如我们说采用推土机架构的“Interlagos”服务器处理器具有16个核心,而不会说是8个模块。对于为何采用这种“模块”设计的主要原因,AMD表示是“为了减少CPU的冗余电路”。 如果采用CMP的方式,随着核心数量的增加,CPU的核心面积也会越来越大,重复的电路也会越来越多,功耗也会随之增加——因为CMP是采用复制核心的方式。而采用“模块”设计可以大大减少冗余电路,这对核心的大量增加很有意义。比如“推土机”,两个核心共享浮点部分,对于大部分服务器应用来说,整数运算的部分要远远高于浮点运算(高性能计算除外),所以将浮点执行单元共享并不会影响大多数应用中的性能。而整数部分则不是共享的,否则会造成瓶颈。 上文我们回顾过CMP和SMT设计的特点,我们可以把AMD“推土机”架构看做是介于这两种之间的一种设计:两个线程(核心)共享浮点执行单元,但是各自具有独立的整数执行资源。这看上去像是SMT的另一种形式,或者说是经过AMD改良的一种“AMD式的第三种方式”。但与传统的SMT设计不同,SMT仅仅复制的是核心的存储部分,一个线程一个存储模块(registerfile),而AMD“推土机”架构中,每个线程复制的是完整的整数执行单元硬件,一个线程具有一个存储模块(registerfile)和一组完整的整数执行单元。 AMD“推土机”核心架构的一些特性 每个线程具有独立的整数执行单元是AMD“推土机”和双线程SMT设计的主要区别。不过从“推土机”的设计来看,这并不像真正意义上的“CMP双核”,毕竟两个核心还要共享浮点执行单元,或者可以称之为“1.5核”。这样设计的好处就是能够大大节省晶体管的数量、降低核心面积和功耗,同时降低成本。即使不是真正的“双核”,但不难想象这样的设计要比SMT更加高效,相比之下,传统的SMT设计可以称之为是一种“1.2核”的设计。 AMD表示平均计算下,一个单独的“推土机”核心执行两个线程可以达到1.8核CMP的效率,但是,这样的数字也是要依赖于负载情况。虽然“推土机”的模块设计要比传统的SMT设计在执行效率上更高,但是增加的整数执行单元也提高了成本和能耗。另外,没有意外的话,AMD“推土机”应该具备很好的浮点计算性能。AMD表示虽然FPU是被两个线程共享的一个部分,如果给予足够的内存带宽,芯片将具有很高的浮点运算能力。 AMD推土机性能测试先来了解AMD推土机FX-8150与自家上代旗舰Phenom II X6 1090T在微架构上的区别,接着我们便会进行CPU单核性能的的对比。我们就通过实际应用测试,来详细了解推土机微架构带来的单核性能变化。 (见图1)主要是考察AMD FX-8150与Phenom II X6 1090T的单核效能差距,同为AMD不同时期产品线中的旗舰,又分别采用了不同的微架构设计。因此本次对比评测将直观的反映出推土机微架构带来的单核性能改变。测试过程关闭各CPU的节能、Tubo Core技术,并将CPU的频率锁定在3.0GHz,分别对比单核、双核、四核、六核、八核(仅推土机)以更好体现微架构的影响。游戏分辨率为1920x1080,画质为最高。 这部分的测试内容包括科学运算测试软件wPrime和AI(人工智能)运算测试软件Fritz Chess,两款软件均对多核CPU进行大量优化,对CPU性能有较大的指导意义,由于只是理论运算,我们把它们归类为CPU理论性能测试。 Fritz Chess性能测试: 见图2 Fritz Chess Benchmark主要用于测试处理器的AI运算性能、多线程处理能力。 见图3 wPrime 2.05性能测试: 见图4 wPrime是一款通过计算质数来测试计算机运算能力等的软件,由于wPrime可以支持多线程并行 运算,因此更能反映出多核、多线程CPU之间的性能差距,我们采用的是最新的wPrime 2.05版。 见图5 测试小结:国际象棋和wPrime能很好地反映多核多线程CPU的性能,拥有8核8线程的AMD FX-8150本应有很好的性能表现,但实际上无论是国际象棋还是wPrime中的表现都弱于Phenom II X6 1090T。可见模块化设计导致浮点运算单元的减半是重要原因,直接影响了单核性能。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。