AMD:解析“推土机”与“山猫”

服务器 服务器产品
日前,AMD带来了最新的“推土机”(Bulldozer)架构CPU和“山猫”(Bobcat)架构的详细信息,本文主要解析两款CPU的有关信息。

日前,AMD带来了最新的“推土机”(Bulldozer)架构CPU和“山猫”(Bobcat)架构的详细信息,本文主要解析两款CPU的有关信息(51CTO推荐阅读:​​代号大蛇 “推土机”内核照片公诸于世​​)。

Don Newell是AMD的高级副总裁兼CTO,他认为,由于云计算趋势日渐明显,因而AMD在x86核心处理器方面未来将产品细分为两个平台:面向后端大规模计算对性能和扩展性需求的“推土机”(Bulldozer)以及面向客户端兼具灵活、低功耗和小巧的“山猫”(Bobcat)平台。

支持多线程的“推土机”

要说“推土机”的架构,首先要提一下目前处理器支持多线程的方法。常见的有SMT同步多线程(Intel的Nehalem系列就是这种多线程),该方法是将两个线程叠加到一个处理器中,使得同一时钟周期内有两个不同的线程在运算(好处是复用了单核空间),但其缺点也很明显一旦一个线程很庞大占据大部分内核空间,则另一个线程就会被明显的延迟——造成互相争抢处理器资源的情况。这种多线程方式适用于线程运算量较小,系统利用率较低的情况——也因此我们在一些海量计算评测中发现打开超线程的性能反而不如关闭超线程时。

两种常见的多线程方法

另一种常见的多线程则是CMP单新片多处理器结构,这种模式将每个线程都分配给专门的核心进行计算。简单来说就是将运行着的线程用强制方法约束在一个核心内(好处是单线程拥有足够资源),缺点是大任务量时每个内核都有很多线程在排队。


"推土机"架构拥有独特的设计思路,使得两个整数核心拥有一个共享的浮点计算单元

Don在介绍时表示,AMD有自己的思路并且在“推土机”架构中实现了另一种多线程方式:用两个整数核心与一个浮点计算模块共同组成一个核心模块。从而更细的将所处理的线程通过整数和浮点两部分来区分——这种模块化的组合将大大提高处理器的灵活性,并可让对缓存更敏感的整数计算单元享用更多缓存(L1 Cache只提供给整数计算器)。设想一下,如果今后类似APU中的庞大GPU模块来取代浮点计算单元,该处理器的优势将多么强大。

#p#

整数模块和浮点模块之间的优先级关系

从数字上来看,代号“推土机”的新架构处理器采用了模块化设计方式,每个模块内包括两个四管线核心、两个整数调度器、一个浮点调度器、两个128位FMAC单元、共享二级缓存以及预取、解码单元,然后多个模块共享三级缓存。每个模块的两个核心彼此紧密关联,可以高效共享资源,同时还有大量新的能效和电源管理,IPC特性更丰富,栅极/时钟更低。

其两个整数核心支持执行两个线程,会共享对延迟要求较高的功能、平缓突发和低效应用、线程间动态分配资源,好处是比两个线程共享一个核心更高的伸缩性和可预测性、多线程负载的吞吐优势、单线程时所有共享资源均可访问、以少得多的面积和功耗提供CMP 80%的性能。

这张图更清晰的显示了整数模块和浮点模块之间的优先级关系,以及共用的L2缓存和L3缓存

Don表示,紫色部分标注的两个整数模块作为专用组件可以有效的提高系统在面对大多数应用时的性能(多数为整数),并能提高系统可扩展性。而红色部分的共享特性则有助于降低核心间的通信延迟和功耗。此外,值得一提的是“推土机”架构可以自动的让整数部分与浮点部分进行切换。进而最大限度的提升每瓦特性能。

#p#

双整数模块单浮点模块与其他核心协同

下面是一张基于“推土机”架构的处理器逻辑图:

可以明显看出“推土机”将模块化进行到底的设计思路——这种模块化布局可以造出任意核心数量的处理器——我们刚刚从国外网站确认“推土机”架构的桌面级产品将于今年12月交付给厂商做测试,并且在明年4月最终量产正式发布;而服务器端处理器“瓦伦西亚”(Valencia)将拥有六到八个核心,也会在明年年中前后发布,更晚还会发布拥有12~16个核心的“英特拉格斯”(Interlagos)。

国外网站曝光的八核心“推土机”晶圆图片

基于“推土机”架构的处理器将采用32nm HKMG工艺制造,拥有弹性浮点单元和HT3.1直连总线,并且支持动态调节平绿的Turbo Core 2.0技术以及双通道DDR3 1866Mhz内存。

#p#

指令集顺应新架构

推土机架构会在指令集方面做出大幅度的扩展,加入支持SSSE3、SSE 4.1/4.2、AVX、AES、FMA4、XOP、PCLMULQDQ等等,其中最关键的就是AVX。

AVX指令集可以执行256位浮点指令,但需要澄清的是,并没有什么所谓的“256位命令”。单精度命令都是32位的,双精度则是64位。使用今天标准的128位浮点单元,可以在一个时钟周期内并行执行四个单精度命令或者两个双精度命令。有了AVX效率就可以翻一番,亦即每时钟周期内执行八个32位单精度命令,或者两个64位双精度命令。

Flex FP弹性浮点单元由两个128位FMAC(乘法累加器)组成,每一个都可以在每时钟周期内执行FMAC、FADD(浮点加法)、FMUL(浮点乘法),而Intel的架构中只能通过单个FADD管线执行FADD指令,FMUL亦然。有了FMAC单元,乘法和加法命令不会像标准FADD、FMUL那样拥堵在一起,两个单元都可以灵活处理这些计算命令。如果一个程序只使用FADD,那么两个FMAC单元都可以全力执行FADD。

相比传统的多线程技术,面对两个整数级应用,“推土机”具有绝对优势

这种设计的其他好处还有:支持FMA4指令而实现非破坏性DEST,降低寄存器的压力;消除中间反复步骤,提高精确度。

#p#

新指令集曝光

在日前的一份远景路线图上,AMD展示了处理器、显卡、芯片组完全大融合的构想,并且披露了推土机之后的又一代全新架构,暂且称之为“Bulldozer NG”。

不过这个推土机2.0版并非只是一种幻想,实际研发工作已经悄然开始了。现在就有细心人发现,AMD最近向GNU操作系统补丁集中添加了多种新的扩展,用于所谓的“upcoming bdver2 processors”,显然就是即将推出的推土机2.0版处理器。

根据这一发现,推土机2.0将会支持的新扩展有:

  - BMI:Bit Manipulation Instructions,位操作类指令

  - TBM:Trailing Bit Manipulation,追踪位操作

  - FMA3:three operand FMA [fused multiply-add] instructions,三操作乘加指令

我们知道,推土机将会支持四操作乘加指令的FMA4,实现非破坏性DEST并降低寄存器的压力,今后再增加FMA3应该是为了实现与Intel Sandy Bridge/Ivy Bridge的兼容性,后者都支持FMA3。

FMA4指令可以允许a、b、c、d处于四种不同的寄存器状态,FMA3指令则要求d必须与a、b、c其中之一处于相同的寄存器状态。前者可以提供更好的编程弹性,后者则可以缩短代码长度,硬件支持也稍微简单一些。

#p#

“山猫”求小、求高效

Don在介绍“山猫”(Bobcat)架构时表示,其设计目标就是小巧、高效和低功耗——用以完成便携式的云终端设备等。据了解,“山猫”是AMD第一款APU上的CPU引擎(融合了GPU与CPU的处理器)。其性能可以达到目前AMD主流笔记本CPU性能的90%,但功耗只是现有产品的一小半。


山猫架构也是典型的整数+浮点计算器,并为整数单元配备了L1缓存,但与“推土机”同样,“山猫”也将整数调度器和浮点调度器分割开,从而使两者互不影响效率提高。

从Don的介绍中,记者了解到“山猫”的热设计功耗不到1瓦,其最早将应用在2011年发布的AMD笔记本平台“Ontario”上。更多细节我们会在今后介绍GPU与APU的文章里继续为各位介绍。

#p#

对比HD6800新架构GPU与上代异同

AMD全球副总裁Manju Hegde先生在技术日上着重围绕Fusion理念讲解了未来AMD希望通过CPU+GPU的方式让服务器和消费级电脑发挥更强的实力。他表示,AMD的融聚理念更注重能效,而不是盲目追求高性能。

Manju表示,从2010年10月份的最新数据来看,大中华区市场已经成了AMD GPU的最主要消费区。而自HD4000系列以来AMD在市场份额上就一直领先,到了HD5000系列则将GPU能效比推到了新的高度——相比晚来了半年的Nvidia Fermi系列仍然要高。

如今,HD6000系列GPU作为HD5000系列的继任者都有哪些方便的提升和改变呢?(注意,本次发布的是HD6800系列GPU,并没有发布HD6900系列)前者是面向图形领域,而后者则面向高端专业图形以及高性能计算领域。

Manju介绍表示,HD6800作为AMD第二代Direct 11标准下的GPU,以更高的能效比(每平方毫米比上一代高35%)和经过改进的图像质量特性成为替代HD5800系列的最佳产品。据了解,HD6800系列GPU由于内核被重新设计过,因而其浮点性能可以达到2Teraflops,每秒可以渲染24千兆个像素。此外还支持256位GDDR5高速显存,支持双扫描线并拥有增强的铺嵌单元。

本土为HD6800系列GPU的核心逻辑图

下面这张图很关键,在对比HD5850和HD6870时,我们可疑观察到一些数字的变化:如GPU面积从334平方毫米所见到255平方毫米,晶体管也相应的从21.5亿缩减到17亿。流处理器也从1600个缩减到1120个,SIMD引擎从18个精简到14个,条文单元从72个缩减到54个。在晶体管减少的情况下,HD6870的性能却提升了很多,HD6870每秒可以输出90000百万个多边形,而HD5850只能输出725百万个多边形。


从本土也可以看出HD6800系列比HD5000系列在图形显示中的优势——越平滑的渐变越好

以上信息可以给我们两个启示:1、HD6800系列对GPU架构做了很大的优化,使其性能有很大飞跃;2、由于晶体管数量减少,因此成本和良品率都应该得到提高,AMD新款GPU显卡的价格将更加平易近人。

【编辑推荐】

  1. ​革命还是渐进?AMD“推土机”架构解读​
  2. ​AMD大变脸 八核推土机缓存达16MB​
  3. ​不卖不卖 CEO回应AMD对外出售传闻​

 

 

责任编辑:景琦 来源: IT168
相关推荐

2010-10-25 10:43:13

AMD推土机

2011-04-08 15:27:14

推土机AMD

2010-08-31 10:34:59

AMD推土机Turbo Core

2011-03-09 07:10:24

AMD处理器服务器

2011-03-14 10:47:47

AMD推土机

2011-01-21 10:28:00

AMD推土机Bulldozer

2011-06-08 09:29:32

AMD推土机负面

2011-03-23 11:07:53

AMD推土机赞比西河

2009-12-02 13:32:38

AMD推土机架构

2011-03-03 09:16:35

AMD推土机

2012-09-11 10:26:11

AMD处理器架构Steamroller

2011-09-08 09:27:36

AMD推土机HPC

2010-09-02 10:11:37

推土机大蛇

2011-02-16 14:10:40

AMD推土机

2010-09-25 13:42:12

AMD推土机缓存

2010-08-04 10:16:46

AMD推土机性能

2009-12-02 11:03:29

AMD

2011-12-26 09:35:23

AMD推土机TurboCore皓龙服务器

2011-03-09 10:27:19

AMD推土机Llano

2013-02-22 09:22:40

AMD美洲虎架构
点赞
收藏

51CTO技术栈公众号