AMD“Bulldozer”“Bobcat”架构解读
张健浪《微型计算机》2010年10月上2010-11-15
每一次的微处理器革命,都是由微架构的转变而引发,在三年前,Intel Core微架构将CPU指令效能推向新的制高点,一举扭转了被动的局面、重新在市场上确立王者地位。不过这一次,革命的“接力棒”转移给了AMD。
8月24x86架构和arm架构区别日,美国加州帕洛阿尔托市举行了第22届Hot Chips高性能芯片会议,AMD的总设计师Mike Butler和Brad Burgess均出席会议,他们详细披露了新一代微架构的“推土机”(Bulldozer)、“山猫”(Bobcat)的大量技术细节,并宣布AMD将于 下一个年度推出相关产品,这也标志着AMD从此进入到一个新的起点。
微架构:CPU的基石
微架构是处理器平台的基础,所谓微架构,实际上是指CPU处理指令的模式,比如指令的预取、解码、预测、执行,整数单元、浮点单元的设计,核心与核 心之间的协同耦合等等。这些要素构成微处理器的基础,一旦确立就不会再作大的改动,而只是在半导体生产工艺、缓
存设计方面下功夫。
由于微架构决定了处理器的工作方式,它直接决定了处理器的特性,包括性能极限、功耗、制作成本等要素,假如微架构设计糟糕,那么即便生产工艺如何先 进、缓存如何巨量,都于事无补——前车之鉴就是Intel饱受诟病的Netburst、也就是Pentium 4体系。相反,如果微架构十分优秀,那么较少的缓存、落后的制作工艺,都可以有表现更好的产品——比如与Pentium 4同时代的AMD处理器。
或许也是受到Netburst刺激,Intel在代号为“Merom”的Core架构中走到非主频的另一个高峰,它将提升指令效能作为第一要务,首 次在X86处理器中实现4路指令解码,这项设计令Core微架构展现出惊人的计算效率,并让Intel重新获得全方位的领先优势。在这以后,Core架构 已经过两代改良,而且Intel将在2011年推出的Sandy Bridge,将会是它的第三代改良,在本质上,同第一代Core架构并没有什么不同。
与此构成鲜明对比的是,AMD现今的所有处理器,其实都还是沿用2003年推出的K8微架构,也许你会认为AMD在2007年发布了更新的K10架 构,但K10只不过是K8的改良体,它的内核依然是K8体系——换言之,AMD的K8架构用到现在已经整整8年有余,这同处理器
产品、制作工艺的快速更新 换代构成了鲜明的对比。在AMD的规划中,它们本该在2007年时候推出新一代革命性的微架构,但出于种种缘由,它们最后只是搞出小修小补的K10,至于 所谓“革命性的新架构”则是年复一年一拖再拖,以至业界完全对此丧失了兴趣。好在AMD在这期间成功并购了ATI,通过图形技术来弥补自身不足,尤其是这 两年随着图形领域的强势,AMD在整个计算平台市场上重新恢复强势地位,并在如消费级移动市场等许多领域都给Intel带来麻烦。
图1 Intel Core微架构,它的高性能奥秘主要就在于可并行解码四条指令。
假如AMD要完全恢复与Intel的对等竞争地位,推出新一代架构几乎是唯一的方法——Bulldozer和Bobcat架构的适时出台,便是这样 的一个积极信号,针对桌面和服务器用户的Bulldozer,只要能够在现行K10处理器基础上提升20%的性能,就足以给Intel带来重大威胁;而针 对超便携平台的Bobcat,在面对Atom时应该可以很轻易打出性能牌。
图2 Bulldozer和Bobcat架构分别面向高性能、桌面市场和超移动市场。
这种美好的期许是否会成为未来的现实?现在,就让我们深入地了解Bulldozer和Bobcat具有哪些特性。
Bulldozer:四路并行解码与多内核制胜
每个时钟周期能并发执行多少条指令,这个硬指标决定了CPU的指令效能——并发3条与并发4条的区别就是高达33%的性能差距。
四路并行解码
长期以来,我们都知道诸如ARM、PowerPC、MIPS等RISC架构的处理器,在指令性能上都远高于同时代的X86芯片,原因就在于RISC 体系的指令系统是经过精简优化的,20%的常用指令具优先权,余下80%指令处于次级地位,那么在微架构的设计中,RISC芯片可以轻松做到4发射、也就 是并发执行4条指令,而不会影响到频率的提升。与此形成鲜明的对,X86是一种复杂的原始指令,在过去的30年间它都只停留在3指令发射阶段,一旦提高到 4指令发射就会严重影响到频率的提升。
Intel的Netburst和AMD的K8体系都是3指令发射,前者不幸拥有长流水线,导致指令效能十分低下。实际上Intel很快就意识到 Netburst存在的问题,它让以列的研发部门完成下一代架构“Merom”、也就是现在的Core架构的设计。Core架构最大的特点就是从 RISC中吸
取营养,它对X86指令进行融合优化、使其变得精简——这样做固然耗费了一定的晶体管资源,但也让Core架构具备4指令发射的能力,也就是 Core架构每周期能执行4条指令,而AMD同时期的K10依然只能每周期执行3条指令——这便是AMD处理器在过去数年中性能一直显著落后的关键原因。 当然你也会注意到一点,Core架构的工作频率从奔腾4的3.6GHz大幅度降低,即便目前的32纳米工艺,最高峰也只是达到3.33GHz而已,这便是 4发射设计的副产物。
图3 Bulldozer可并行解码四条指令,这将显著提升其指令效能。
如今,即将发布的Bulldozer最令人兴奋的地方便在于,它也是一款4指令发射的X86处理器,AMD没有详细解释它是如何做到的,但我们不难 猜测,对X86指令的优化仍是唯一的途径,换言之Bulldozer从Intel Core架构的设计中汲取了营养,这也是一条非常正确的道路。而只要具备4指令发射这要素,那么Bulldozer与Core的差距就不会是本质性的、顶 多伯仲之间。所以任何对Bulldozer执行效率的担心都比较多余——显然,结合AMD在图形领域的优势,我们不难知道它将迎来K8时代后的第二次崛 起。
独特的1.5核心设计
4路并行的指令,最终将被送入整数计算单元和浮点计算单元进行处理,整数计算性能体现CPU的事务处理能力高低,比如操作系统、应用软件、服务器程序的运行,都是由整数部分决定的;而图形处理、物理计算、视频编解码等应用涉及到浮点计算能力。
在过去,CPU是PC系统的中枢,整数性能与浮点性能同样重要,为此CPU内一般拥有相同的整数计算单元和浮点计算单元。但如你所见,今天的情况已 经大不相同:GPU接管了大量的浮点运算,CPU的任务更多偏重于事务处理,也就是整数计算。Intel自身没有强大的GPU资源来辅助浮点计算,为了避 免产品在竞争中处于不利地位,它不得不赋予CPU同样
强大的浮点性能。而今天的AMD就不必如此,它的Radeon HD GPU擅长于浮点处理,除传统的3D渲染外,高清视频加速等重要的PC应用均由它接管,并且未来将具备越来越强的通用计算能力,并成为APU的一部分。既 然如此,委实没有太大必要继续为CPU设计更多、更强大的浮点计算单元。这种思路在经济上也是非常合算的:浮点计算单元要占用的晶体管资源比整数单元大得 多,如果将浮点单元作精简,那么节约出的资源就可以用于增强整数计算单元,而平台的浮点计算任务则主要依赖GPU来完成。那么,在晶体管总量、工作频率等 要素均不变的前提下,整个平台的性能便可以获得显著的增长。
Bulldozer架构便是这种思路的产物。我们在架构图中可以看出,Bulldozer一个模块内拥有2个整数单元,这一点同双核心的Intel Core架构相似;但它却只有一个浮点计算单元,而非常规双核处理器的2个。单纯从运算单元的数量来看,Bulldozer一个模块只能算是1.5核而非 双核,被精简的部分就是浮点单元。
图4 Phenom Ⅱ所采用的K10架构
通过图3、图4的对比,我们可以清晰地看到Bulldozer同K10架构(Phenom Ⅱ)的不同,除了具有四路指令解码外,Bulldozer微架构直接为1.5核设计,也就是它比K10架构多了一个
整数单元。不过,K10的每个整数单元 都是由6个ALU和各一个MUL、DIV运算器构成,且具有64KB的一级数据缓存;而Bulldozer中的整数单元,只包含4个ALU和一个MUL、 DIV运算器,另外一级数据缓存的容量也削减到16KB。这其中你会注意到两件事:ALU数量减少,这意味着Bulldozer的单个整数单元实际性能弱 于K10,但通过两个单元的合力,Bulldozer最终仍将取得明显的性能优势。其次,Bulldozer的一级数据缓存容量显著降低,AMD这么做的 理由在于:4发射带来更高的指令效率,而不必一味依赖大的缓存;再者缓存所用的SRAM逻辑是晶体管耗用大户,降低缓存可以令芯片变得小规模化。AMD表 示,Bulldozer模块内的第二个整数核心只需占用核心面积的12%尺寸,从芯片设计上讲这只会给整个内核增加5%的电路。因此,这种1.5核的特殊 设计,并没有消耗比K10更多的晶体管资源,在同等条件下,Bulldozer架构处理器的制造成本,同样不会高于现行的Phenom Ⅱ,但是性能却可以有相当显著的提升。这一次,我们不得不说AMD干得漂亮,它仅凭借自身IC设计的高超技巧,就达成了提升处理器性能的目标。
图5 Bulldozer内的浮点单元由两个核心共享,从而获得更出的能耗和成本优势。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论