E X P

  • 编辑
  • 评论
  • 标题
  • 链接
  • 查错
  • 图文
  • 全文浏览

    ◆ 突破传统,Bulldozer设计思路大不同

      自从X86架构成型以来,Intel和AMD等厂商的CPU设计思路几乎是一成不变,为了获得更强的性能,采取的多是优化或者加入新指令集,加大L2缓存(cache)容量,引入L3缓存等方式,这些年除了HT与QPI直连总线算得上创新之外,CPU内核部分并没有太大改变。进入多核时代后,设计思路则转向多核心以及多线程两种方式

      CMP(Chip MultiProcessors)也就是增加核心数量,现在桌面级CPU拥有四核心乃至六核已不是什么新鲜事,而服务器领域也有十二核、十六核CPU出现。用CMP方式提升性能是显而易见的,但是它的缺点是成本要随核心数增加而不断提高,内核数量达到一定程度性能提升也不成比列。

      SMT(Simultaneous Multithreading)也就是我们常说的超线程技术,它可以让一个CPU核心的多个线程共享资源并同步执行,硬件上几乎不需要增加成本。虽然服务器领域应用SMT多线程技术已有多年,但把SMT技术带入桌面领域还要归功于Intel,P4时代以HT(Hyper-Threading)身份登场,不幸遭遇P4的疲糜,之后的Core时代HT超线程技术销声匿迹,直到Nehalem架构上重新启用并一直延续到现在的SNB架构,只是现在的超线程技术与与P4时代的HT超线程在技术原理上早已不完全相同。

      AMD的CPU并不支持SMT超线程技术,目前AMD在市场上实行的“田忌赛马”策略实质上就是用CMP技术对抗Inte的SMT技术,相近价位下用四核以及三核对抗Intel的双核,用六核对决Intel的高端四核。这种策略看似高明,但是二者在成本上差异明显,是苦是乐只有AMD自己知道了。

      之所以扯这么多CMP和SMT的差别,就是因为AMD的Bulldozer架构的设计思路不同于当前的CMP以及SMT,而是走上了第三条路,既非硬件上增加CPU核心数,也不是软件上虚拟多线程。

    Bulldozer不走寻常路

      AMD在设计Bulldozer时考虑的是如何最大化提高多核心多线程的效能,传统的CMP与SMT各有自己的优点,同时也存在着局限性,SMT不如CMP效率高,而CMP代价(不单单是成本)比SMT高。为此Bulldozer一改传统CPU核心设计思路,设计了一个模块(Module),每个模块中又有两个独立又关联的内核,借此实现了一个模块同时运行两个线程的目的

    Bulldozer一改传统而采取模块化设计实现了SMT多线程

      组成Bulldozer的一个功能单元的不再是传统的整数+浮点单元内核,AMD称之为一个模块(Module),每个模块中拥有两个整数单元(Integer Unit)和一个共享的弹性浮点单元(Flex Floating Point),其中整数单元各自配备了一个调度器(Scheduler),因此可以同时执行两路线程,AMD称自己的多线程技术为CMT(Cluster Multithreading)。

      理想情况下,需要计算的数据恰好全是整数型,那么经预读(Fetch)、译码(Decode)之后数据会分别经两个调度器分配至相应的整数单元进行计算,同一时间内可以有两个线程在运行,而且这两个线程都是实打实的硬件计算,效率远超HT超线程这样的软件模拟。之前有传言AMD在搞的是逆线程(anti-HT),可以将多个线程合并为一个线程,这个技术的存在与否并没有谁来证实,不过看看现在的Bulldozer架构,两个整数单元可以同时运算一个任务,从模块的角度看就相当于把两个线程合并为一个,与逆线程的思路有异曲同工之妙。

    增加的一个整数单元只占用一个模块面积的12%,占整个核心的面积仅为5%

      据AMD称,目前CPU中超过80%的运算都是整数运算,增加一个整数单元的好处是显而易见的,用增加5%的核心面积的微小代价即可换来80%的整数性能提升

      最终设计出来的Bulldozer架构如何呢?

    4模块8核心Bulldozer的架构图(来源:chip-architect)

      这张图来自chip-architect.com,也是目前最为详细的揭露Bulldozer架构的一张图,结合AMD官方公布的一些消息可以确认图中的大部分信息还是很准确的。

      上图中显示每MB L3缓存的面积为3.85mm2,对此结果笔者存疑,因为缓存通常都要占用很大面积,不过09年的时候AMD曾和T-RAM公司达成合作,未来的32nm工艺将会使用T-RAM作为缓存,如果Bulldozer上使用了技术先进的T-RAM缓存,那么缓存的占用面积会更小,上述缓存面积还有可信度。

      Bulldozer每个模块的核心面积为18.0mm2(不含L2缓存),包含2MB L2缓存的情况下每个模块核心面积则为30.9mm2,集成2.13亿个晶体管。与之对比的是SNB架构每个核心的面积为18.4mm2,同时集成512KB L2缓存。那么由此估算下,Bulldozer的每个核心可以看作集成1MB L2缓存的同时面积约为15.5mm2,核心面积要小于SNB。AMD的Bulldozer在新工艺的支持下,同等级别下的核心面积已经接近Intel的水平(甚至更低),远高于K10时代的水准。

      这里只考虑了CPU部分的核心面积,还要注意到SNB和Bulldozer都会集成了GPU核心,它们对核心面积的大小也有重要影响。SNB中GPU分为HD 2000和HD 3000系列,双核CPU的核心面积分别为131mm2和149mm2,不过Bulldozer目前集成的GPU消息不明,所以这个无从对比。

    ×
    已有 34 条评论,共 36 人参与。
    登录快速注册 后发表评论
    • 游客  2020-01-15 17:11

      该评论年代久远,荒废失修,暂不可见。

      支持(0)  |   反对(0)  |   举报  |   回复

      34#

    • 游客  2017-05-09 18:53

      该评论年代久远,荒废失修,暂不可见。

      支持(0)  |   反对(0)  |   举报  |   回复

      33#

    • 游客  2016-11-27 05:11

      该评论年代久远,荒废失修,暂不可见。

      支持(0)  |   反对(0)  |   举报  |   回复

      32#

    • 游客  2016-08-03 22:33

      该评论年代久远,荒废失修,暂不可见。

      支持(0)  |   反对(0)  |   举报  |   回复

      31#

    • 游客  2016-05-16 04:03

      该评论年代久远,荒废失修,暂不可见。

      支持(0)  |   反对(0)  |   举报  |   回复

      30#

    • 游客  2016-05-16 01:22

      该评论年代久远,荒废失修,暂不可见。

      支持(0)  |   反对(0)  |   举报  |   回复

      29#

    • 游客  2016-05-13 22:25

      该评论年代久远,荒废失修,暂不可见。

      支持(0)  |   反对(0)  |   举报  |   回复

      28#

    • 游客  2016-03-31 07:33

      该评论年代久远,荒废失修,暂不可见。

      支持(0)  |   反对(0)  |   举报  |   回复

      27#

    • 游客  2016-03-31 03:33

      该评论年代久远,荒废失修,暂不可见。

      支持(0)  |   反对(0)  |   举报  |   回复

      26#

    • 游客  2016-01-01 23:49

      该评论年代久远,荒废失修,暂不可见。

      支持(0)  |   反对(0)  |   举报  |   回复

      25#

    • 游客  2015-11-10 04:35

      该评论年代久远,荒废失修,暂不可见。

      支持(0)  |   反对(0)  |   举报  |   回复

      24#

    • 游客  2015-11-09 05:22

      该评论年代久远,荒废失修,暂不可见。

      支持(0)  |   反对(0)  |   举报  |   回复

      23#

    • 游客  2015-10-16 10:06

      该评论年代久远,荒废失修,暂不可见。

      支持(0)  |   反对(0)  |   举报  |   回复

      22#

    • 游客  2014-08-04 12:31

      该评论年代久远,荒废失修,暂不可见。

      支持(0)  |   反对(0)  |   举报  |   回复

      21#

    • 超能网友 2013-03-14 10:44    |  加入黑名单

      该评论年代久远,荒废失修,暂不可见。

      支持(0)  |   反对(0)  |   举报  |   回复

      20#

    • 游客  2011-05-29 00:35

      该评论年代久远,荒废失修,暂不可见。

      支持(1)  |   反对(0)  |   举报  |   回复

      19#

    • 超能网友教授 2011-05-27 02:11    |  加入黑名单

      该评论年代久远,荒废失修,暂不可见。

      支持(0)  |   反对(0)  |   举报  |   回复

      18#

    • 超能网友终极杀人王 2011-05-26 12:41    |  加入黑名单

      该评论年代久远,荒废失修,暂不可见。

      支持(0)  |   反对(0)  |   举报  |   回复

      17#

    • 游客  2011-05-26 12:25

      该评论年代久远,荒废失修,暂不可见。

      支持(1)  |   反对(0)  |   举报  |   回复

      16#

    • 游客  2011-05-26 01:35

      该评论年代久远,荒废失修,暂不可见。

      支持(0)  |   反对(0)  |   举报  |   回复

      15#

    • 超能网友终极杀人王 2011-05-25 14:07    |  加入黑名单

      该评论年代久远,荒废失修,暂不可见。

      支持(0)  |   反对(0)  |   举报  |   回复

      14#

    • 游客  2011-05-25 13:15

      该评论年代久远,荒废失修,暂不可见。

      支持(0)  |   反对(0)  |   举报  |   回复

      13#

    • 游客  2011-05-25 12:32

      该评论年代久远,荒废失修,暂不可见。

      支持(0)  |   反对(0)  |   举报  |   回复

      12#

    • 游客  2011-05-25 11:44

      该评论年代久远,荒废失修,暂不可见。

      支持(0)  |   反对(0)  |   举报  |   回复

      11#

    • 超能网友大学生 2011-05-25 11:34    |  加入黑名单

      该评论年代久远,荒废失修,暂不可见。

      支持(0)  |   反对(0)  |   举报  |   回复

      10#

    • 超能网友小学生 2011-05-25 08:51    |  加入黑名单

      该评论年代久远,荒废失修,暂不可见。

      支持(0)  |   反对(0)  |   举报  |   回复

      9#

    • 我匿名了  2011-05-24 19:11

      该评论年代久远,荒废失修,暂不可见。

      支持(0)  |   反对(0)  |   举报  |   回复

      8#

    • 我匿名了  2011-05-24 19:08

      该评论年代久远,荒废失修,暂不可见。

      支持(0)  |   反对(0)  |   举报  |   回复

      7#

    • 游客  2011-05-24 18:56

      该评论年代久远,荒废失修,暂不可见。

      支持(0)  |   反对(0)  |   举报  |   回复

      6#

    • 游客  2011-05-24 18:34

      该评论年代久远,荒废失修,暂不可见。

      支持(0)  |   反对(0)  |   举报  |   回复

      5#

    加载更多评论

    登录 后发表评论,若无帐号可 快速注册 ,请留意 评论奖罚说明