从“融合”到“深度融合” AMD全新Kaveri APU架构详解

  APU被AMD视为未来发展中最重要的产品,它具备同时抗衡英特尔和NVIDIA的错位竞争优势,是AMD同时用高性能CPU、GPU技术浇灌出的核心产品。在前几代APU上,AMD已经按照当初的设想,初步完成了CPU和GPU在物理结构上的融合。接下来,AMD将在内部架构层面完成CPU和GPU的进一步融合。这是AMD整个融合计划中至关重要的一步,此后整个APU系统中将不会有明显的CPU、GPU划分。也只有达到此设想,AMD才能顺利地推行HSA异构计算计划,让融合架构充分发挥出协作计算优势。而这一步计划的开山之作,就是我们今天介绍的主角-Kaveri APU。

  有关Kaveri APU的猜想一直在业内传得沸沸扬扬,大多是从AMD近两代APU的发展脉络中归纳、推测出来的信息。比如CPU部分会使用压路机架构、GPU部分则会使用GCN架构等,但各种细节并不清晰。本文则是在笔者收集整理了国内外众多名家资料的基础上,综合本刊获得的有关Kaveri APU和打桩机架构的更多技术内容后,为大家带来的有关Kaveri APU的详细架构介绍。

  在正式介绍Kaveri的架构之前,不得不吐槽—下AMD产晶的工艺。工艺是芯片竞争的基础,也是困扰AM D芯片发展的核心因素之一。实际上,由于工艺问题,原本预计2012年底或2013年初就上市的Kaveri APU不得不推迟到2013年底。而且从目前得到的消息来看,Kaveri APU的量产日期可能还会继续延后,也许2014年才能全面上市。

  出现这样的问题,原因主要是APU的代工厂GlobaIFoundries-也就是之前从AMD拆分出去的晶圆厂在32nm以及28nm工艺上遇到了很多问题。GlobaIFoundries无法很好地掌握高水平SOI(绝缘底上覆硅)工艺,正在努力地向传统的Bulk工艺转型。相比SOI工艺,Bulk工艺不需要使用昂贵的SOI晶圆,理论上物料成本会低一些。但也会失去SOI工艺寄生电容更低、漏电流更小等优势。相比SOI工艺的产品,Bulk工艺的产品在晶体管数量相当的情况下,芯片面积要比前者多出大约30%。当然,这只是理论值,综合情况要复杂不少,两者实际差距不会有这般巨大。此外,转移到Bulk上后,由于SOI特性的损失,可能需要借助诸如HKMG等特殊工艺来保证芯片性能水平不会降低,这也是AM D和GlobaIFoundries急需解决的司题。

  然而时不我待,原本期待28nm Bulk新工艺来救场的Kaveri APU不得不一再延期,这也使Kaveri APU相比竞争对手的优势也跟着时间一起在流失。AM D对压路机架构的介绍已经不是一次两次了,本刊也做过一些有关压路机架构的详细介绍。AMD“建筑三件套“发展脉络其实是比较清晰的,推土机主要目的是打下模块化设计基础,打桩机则是对推土机的小修改,微小提升IPC,压路机才是真正对推土机架构动大手术。Kaveri APU将使用打桩机架构基本是铁板钉钉的事,而这也毫无疑问是Kaveri APU架构的一大亮点。

  综合来看,“压路机”相对“推土机”的改进主要如下:

  1.CPU前端部分:指令缓存追踪失败几率降低30%、分支预测失败几率降低20%,对每个线程增加了25%的数据调度宽度,为每个整数单元配备了独立的解码单元。

  2.CPU执行部分:增加了5-10%的调度性能,主要提升L1数据缓存的性能。

  3.其他性能改进:引入了动态调整大小的L2缓存,增加了微解码操作队列,提升了L1和L2缓存的接口性能。

  AMD官方的描述,称上述改进有效提升了压路机的性能,特别是为每个整数单元配备了独立的解码单元这一点。此前AMD之所以为一个模块的两个整数单元设计一个公用的解码器,主要是考虑到x86的解码器比较复杂,不但占据芯片面积,还是耗电大户。因此AMD经过权衡后设计了一个复用的整数解码器。但目前看起来,这个设计成了相对明显的瓶颈,需要重新考虑。实际上AMD为每个整数单元配备解码器的行为更像是局部打破CMT的设计思路,恢复了传统单核心的独立运作机制。据AMD描述,增加了解码器后,可以给压路机带来大约25%整数指令性能提升,效果非常令人满意。

  图5详细标识出了AMD压路机中每个模块的设计,以及相对于之前架构的改进。图5中左侧为压路机,右侧为推土机,都是单个模块(双核心)。单一模块中,两侧淡蓝色的区域表示的是每个CPU模块中线程独立的部分,中间的淡黄色则表示CPU公用的部分。对比观测,可以清晰地看到压路机相对之前打桩机和推土机架构的改进,尤其是CPU独立线程部分。

  当线程进入CPU后,无论是堆土机还是压路机,所遇到的首要模块就是分支预测单元(Branch Prediction ThreadDomain),这一部分压路机相比前作没有架构上的巨大改变,重点在于提升效率,加强了分支预测部分的实际性能。接下来是指令预取部分(lnstruction FetchThread domain),可以看到指令预取在压路机上有一些调整,增强了预取调度设计,但AMD并没有给出具体的性能加强幅度。接下来的部分就是压路机和推土机架构最大的不同了,指令经过分支预测和预取后,在压路机上将被分别送入两个不同的Decode单元,交给后方不同的两个指令派遣单元(Dispatch Thread domain)后,再进入各自的整数运算单元(lnteger Core)计算或者进入共享的浮点模块(Floating PointFrontend)。在推土机架构上,由于Decode单元和指令派遣单元是共用的,2个整数运算单元只对应一组,一旦遇到复杂情况,很可能出现指令堵塞等问题,让后方的整数模块或浮点模块空余等待,浪费计算性能。

  当然,增加了Decode模块后,整个CPU的晶体管使用量和功耗都有一定程度的增加,这一点AMD应该有充足的考虑.相对于效果并不显著的功耗控制,AMD应该更希望压路机架构的性能得到明显改善。总的来估计,在采用了更改过的CPU架构后,压路机架构的同频率性能相比前代会有大约10%到15%的进步。这就意味着Kaveri APU的CPU模块在同频下性能会比上代APU高出10% -15%,再加上新工艺会将整体频率提升至少5%,那么Kaveri APU的CPU性能比前代APU高出1 5%以上并不困难。

  APU的GPU模块一直在架构上落后桌面GPU至少一代,AMD之前也多次表示要更新这一部分。终于在Kaveri APU上,AM D打算用上当前最新的GCN架构。Kaveri APU的GPU规格目前还没有最终确定,但根据相当可靠的消息,AM D至少决定在Kaveri APU中使用512个流处理单元,换算到CU模块上来看,就是8个CU模块。这样Kaveri APU的GPU规格将达到目前中低端独立显卡Radeon HD 7750的水平。

  从架构角度来看,前几代APU中的GPU,无论是VLIW 5D还是VLIW 4D,都存在一个最大的问题——计算结构死板,不利于发挥出高计算效率。以VLIN4D为例,要求每次输入的待处理数据最好都是4D的,一旦遇到2D或者3D的数据,运算效率甚至会下降至原有的50%,虽说有辅助程序调度模块尽可能地拼凑指令提高效率,但这只属于补救措施,无法从根本上解决问题。在更改到GCN架构后,运算单元取消了类似的绑定,每次指令模块将需要处理的数据一次打包为64bit (GCNCU的每个波前数据宽度为64bit)的并行数据流,塞入CU的计算ALU即可。这样的设计使得ALU运算单元几乎在任何时候都能处于满载状态,效率极大地提升。

  除了CPU和GPU的基本架构外,在内部通信设计方面,Kaveri APU也将有重要改进。目前AMD已经在推广HSA异构计算,因此对HSA的底层硬件支持,尤其是hUMA统一内存寻址,就成为了Kaveri APU必须具备的特性。而要满足统一寻址,就必须改进原有的内部通信总线。之前APU内部的CPU和GPU其实是相对独立的,CPU部分依1日通过HT总线完成数据传输,而GPU部分AMD则另外设计了2条总线。Fusion Compute Link总线连接GPU和PCI-E总线;RadeonMemory Bus总线,则负责连接GPU和内存控制器。通过这两条忠线,满足GPU的数据传输需求,当然为了保证GPU的带宽,Radeon Memory Bus使用了两条256bit链接。可以看出这样的方式难以完成CPU和GPU的直接交互,异构计算的数据同步问题就难以解决。就目前已知的消息是,在新的Kaveri APU上,FusionCompute Link和RadeonMemory Bus这两条总线将不复存在,取而代之的是另外的符合hUMA技术要求的总线设计。这种设计需要考虑到统一内存寻址后,GPU和CPU如何同步数据的问题,有可能GPU和CPU将通过环形总线一类的设计实现直接交互。

  至于APU的整体并行运算性能,借助GCN架构的高效率,Kaveri APU很可能成为历史上首款浮点计算能力突破1T FLOPS的APU。之前1T FLOPS浮点计算能力的“头牌”是由AMD的RadeonHD 4870拿下的,理论上Kaveri APU将拥有不逊于HD 4870的浮点计算性能。当然,纯粹以计算能力来对比显卡和APU的实际性能并不十分准确,因为APU中的GPU还要受制于内存带宽,性能浮动会比较明显。这和我们此前测试的APU-样,在搭配2133MHz的双通道内存时,它的图形性能可达到搭配j1333M Hz双通道内存的2倍,甚至更多。但以目前的情况来看,即使最终Kaveri APU的GPU部分只能达到最高理论值大约70%的性能,就已经可以满足绝大部分游戏的计算需求。除了一些对性能要求比较苛刻的大型游戏外,诸如《使命召唤》这样的经典3D游戏都能在比较高的画质设定下,流畅地运行在APU系统上,一些较老的游戏甚至可以开肩更多效果以获得足够优秀的画质。

  以此性能推算,当前诸如GeForceGT 640、GTX 650、Radeon HD 7750这类的中低端独立显卡都可能受到KaveriAPU的严重威胁。相信无论是NVIDIA还是英特尔都会为此积极规划对策。NVIDIA需要进一步提升入门级独立显卡的性能门槛来应对新一代Kaveri APU的威胁;而英特尔,则不得不抓紧时间提升核芯显卡的性能,并保持CPU部分的传统优势,以期在异构计算时代不被APU拉开差距。

  Kaveri APU相对以往APU的主要架构变动就基本为大家介绍完了。从KaveriAPU的架构设计和硬件规模来看,这是APU诞生以来,AM D对APU最重要的一次升级,也是AMD成立HSA联盟后第一次为大家提供坚实的硬件基础。毫无疑问,统一寻址这一改进已经初步完成了底层硬件融合的设想,让APU的异构计算规划更进一步。这甚至会对整个行业的未来发展产生显著影响。而不太关心架构、异构计算和行业发展的普通PC用户,也能从基于打桩机和GCN的底层架构更新中,享受到Kaveri APU带来的显著性能提升。实际上在AMD的财报中,APU已经开始崭露头角,作为只有AMD独家能提供的忧秀产品,相信APU还会在未来发展中变得更为强大,并扮演更为重要的角色。

  文图|邹昌俊 张建武

……
关注读览天下微信, 100万篇深度好文, 等你来看……
阅读完整内容请先登录:
帐户:
密码: