数码科技

不要再无脑黑农企!带你深入了解AMD推土机架构【Part4 压路机评测】

原创,总结及翻译,转载请注明出处
在本人发于14年初的原帖基础上稍作修改,主要来源为Anandtech。


目录:

Part1 桌面版推土机评测

Part2 服务器推土机评测

Part3 打桩机评测

Part4 压路机评测

Part5 挖掘机评测

以下是【SteamrollerB评测】

主要是Kaveri的CPU部分。

【压路机架构特性】

压路机的设计继续向前推进。

【前端改进】
推土机和打桩机最大的问题之一是共享提取和解码硬件。

压路机给每个模块增加解码单元,现在每个核心都有自己的4-wide解码器,每个解码器都可以并行工作,而不是交替工作。不要期待双倍的性能,因为4-wide解码器很少被充分利用。但它是压路机性能提升最大的地方。

img027.jpg

这样做的代价很明显:核心面积和功耗同步上升。但你很快就会看到,这两个缺点会在设计的其他领域被抵消。

压路机继承了打桩机的感知分支预测,但是更高性能的改进型号(大多数服务器负载)。分支目标缓存也更大,最多降低20%分支误预测率。

img028.jpg

【执行单元改进】
农企在压路机中精简了模块内的大型共享浮点单元。FPU的执行能力没有变化,但总体面积减小。MMX单元现在和128bitFMAC管线共享部分硬件。 AMD公司也不会提供太多细节,只是说,共享硬件实际上只适用于互斥的MMX / FMA / FP操作,因此不会导致性能损失。

管道资源的减少以较低的功耗和面积提供了相同的吞吐量,基本上是一个更智能的推土机/打桩机FPU。

整数执行单元本身没有改变,但也有其他提高整数运算性能的改进。

压路机的整数和浮点寄存器文件变大了,虽然AMD没有明确提及到底增大了多少。 装载操作(两个操作数)也被压缩,使它们只需要物理寄存器的一个Entry,这有助于增加每个RF的有效尺寸

调度窗口也增加了尺寸,这应该能更好的利用现有的执行资源。

Store→Load转发也能看到改进。 AMD压路机在检测联锁,取消负载和从存储获取数据方面做的比以前更好。

img029.jpg

【高速缓存的改进】
压路机中共享的L1指令缓存增大,但是农企没有告诉我们具体情况。 【实际上压路机变为3-way 96KB,农企意识到了这一点缺陷】 推土机的特点是2-way 64KB的L1指令缓存,每核心使用1-way。这使得推土机每核心的缓存比前代【K10.5】要少,因此这里的增加是合理的。农企说更大的缓存可以使指令缓存未命中率最多下降30%。这里没有提到任何关于L1数据缓存的改进【实际上没有改变,依然是每模块4-way 16KB】。

虽然AMD不喜欢叫它缓存【叫缓存就和Intel一个样了】,压路机现在拥有一个解码的微指令队列。在x86指令解码成微指令后,地址和解码运算都存储在这个队列中。 如果要提取队列中已经存在的一个地址,压路机的前端将关闭解码硬件,只服务于获取微指令队列地址的这个请求。 这在本质上和Sandy Bridge的解码微指令缓存相似,但它很可能小一些。 AMD不愿透露队列中能有多少微指令,只是说,它大到足以得到一个体面的命中率。

L1→L2的接口也有改进。一些队列变大,逻辑改进。

最后,在缓存方面,压路机引入了动态调整大小的二级缓存。 根据工作量和缓存命中率,压路机模块可以以四分之一为单位,选择性调整它的L2缓存(未使用的部分断电)。 AMD认为这对于移动客户端的续航是一大胜利。因为应用程序,如视频解码(对于服务器不常用),其中CPU只需要唤醒一段时间来运行少量任务,而不使用大量L2缓存。L2高速缓存占AMD的核心漏电的一大块,所以关闭它的一半或以上,绝对可以帮助延长续航。 调整过的缓存不会更快(相同的访问延迟); 它只是耗电更少。

压路机没有显著减少L2/L3缓存延迟。 据AMD表示,他们已经分离出推土机异常高的L3延迟的原因,但是修复它不是当务之急。 鉴于大多数消费者(笔记本电脑)只能看到无L3的处理器(如Llano,Trinity),并且许多服务器工作负载对延迟不敏感,所以AMD的立场是有道理的。

img030.jpg

【展望:高密度库】
这里的主要原因是农企收购的ATI:AMD未来的CPU将更多地使用自动布线设计和新的高密度库,这些都是被集成GPU严重影响的结果。农企CPU采用自动布局布线已经是司空见惯了,但这种做法还要再进一步。

这种方案源自于农企GPU的设计,并且已经在农企的“猫”核心【如Bobcat山猫,K10.5简化版】中部分使用。 作为例子,AMD展示,使用高密度库时,一个32nm的推土机FPU的面积和功耗都减少了30%。

由于不需要为时钟信号布线,所以功耗降低。面积的减少则来自于晶体管自动布局布线和更高密度的栅极/逻辑库。 

代价则是峰值频率。自动设计不能达到和之前手工布线一样的高频率。农企相信这种牺牲是值得的,因为在功耗受限制的环境下(比如笔记本),你不可能冲击最高频率。作为回报,每操作会节省15-30%的电能。农企认为这相当于使用了新制程。

我们在压路机上还看不到这些新的库和自动化设计,而是在其继任者:挖掘机上才能见到。 

img031.jpg

【总结】
压路机似乎是推土机和打桩机的一次良好进化。与打桩机尽力提高能耗比相比,压路机会在性能上有更大的冲击。该架构预计采用GF 28nm制程,于2013年亮相。这些改进尽管看上去很好,但只是纸上谈兵。能否对Haswell造成威胁才是关键。

下面是【压路机测试】
首先是首发阵容

img032.jpg

img033.jpg

img034.jpg

【Kaveri和计算核心】
农企发现,他的Kaveri处在独一无二的CPU/GPU真正融合的地位,因此为了未来发展,需要使用新命名法。

由于Kaveri核心面积的47%都用于GPU,并且是把GPU和CPU同等对待的一种架构,所以我能理解农企为何希望谈及CPU的总核数。

AMD的术语“计算核心”,它可以指一个x86(或者农企最终的ARM)CPU核心或GCN的一个CU【计算单元,GCN下每64sp为一个CU】。 明细如下: 
①CPU的每个线程都是一个计算核心

②集成GPU的每个计算单元是一个计算核心

③总计算内核= CPU计算内核+ 集成GPU的计算单元

这意味着,高端的SKU,例如A10-7850K将有总共12计算单元:CPU的四个(双压路机模块,支持四线程)和IGP的八个(R7有8个计算单元)。 

从技术上讲,AMD是正确的 – CPU/IGP的每个线程/每个计算单元可以运行不同的代码。 但是,显然这12个计算单元是不等价的:一个程序员仍然要专门分别为CPU和GPU编写代码。

img035.jpg

img001.jpg

【压路机归来】
在推土机和打桩机,每个整数核心都有自己独立的调度器,但两个核心共享一个单一的获取和解码单元。 指令进去后,解码操作会交替输送到每个核心。 在压路机中,每个模块中有两个解码器,所以现在每个整数核心都有自己的解码单元。 两个解码单元由一个FP单元共享。

L1指令缓存的大小从64KB增加到每模块96KB,AMD宣称能减少30%的缓存未命中。分支预测器也更新,降低最多20%分支误预测率。 整数和FP寄存器大小增加,并增加了调度窗口的大小,这两者结合使每线程调度数增加了25%。

Store上也有大的改进。压路机每时钟可以发射2条Store,而推土机/打桩机只有一条。Load/Store队列也增加了20%。说明推土机上能轻易改进的地方很多。

img002.jpg

【CPU性能】
【Agisoft Photoscan V1.0】
由于CPU性能不强和部分算法对单线程的依赖,农企在这里很蛋疼。

该基准测试的第二阶段可以通过APU的IGP进行加速,因此我们可以看到高端APU能一枝独秀。 HSA的承诺达到了,只是它需要一段才能在大多数应用程序中使用。

img003.jpg

img004.jpg

【3D Particle Movement 】
3DPM是一种自主设计的基准,同时在布朗运动模拟中使用基本的3D运动算法,测试它们的速度。 高浮点性能,主频和IPC会在单线程版本获胜,而多线程版本偏爱更多的内核。

农企依然因缺少浮点性能而蛋疼。

img005.jpg

img006.jpg

【WinRAR 5.01】
WinRAR喜爱Intel高端芯片的高IPC,7850k甚至与较老的2500k相比还有较大差距。45w的Kaveri与对手则近在咫尺。

img007.jpg

【FastStone Image Viewer 4.9】
一个单线程测试,Intel当然是赢家

img008.jpg

【Xilisoft Video Converter 7】
2x4K测试为10分钟的分辨率3840×4320的片段

Film测试为2小时20分的分辨率640×266的DVDrip

在处理大型帧数据时,集显没有明显帮助。

在处理小型帧数据时,开启AMD APP功能有优势。

img009.jpg

img010.jpg

【 HandBrake v0.9.9 】
同上面的差不多,更偏爱多核心多线程高主频

img011.jpg

img012.jpg

img013.jpg

img014.jpg

img015.jpg

img016.jpg

img017.jpg

img018.jpg

img019.jpg

img020.jpg

img021.jpg

img022.jpg

img023.jpg

img024.jpg

【结语】
压路机的IPC有了稳健增长,但Kaveri上主频没有显著增长,导致单线程性能没有大的增长。

现实很明显:农企不会在推土机系列上解决它的CPU性能问题。我们需要一个替代架构,我怀疑它会在2015年的Excavator挖掘机之后出现。

过去AMD一直认为,对于现在大多数用户,它的CPU性能是足够的。虽然如此,这也是一种危险的说法。我这次要为AMD的公关鼓掌,因为他们没有说CPU性能在某种程度上是无关紧要的。尽管我们尽量不批评公关,但实际上,之前每一代APU发布时,农企公关就尽全力强调说CPU性能没有问题,有问题的是我们的测试方法。【艾玛】在Kaveri,这种争辩或多或少停止了。AMD似乎已经接受了现实,并且对用这种架构勉强支撑貌似很满足。这是一个艰难的境地,但这确实是推土机滚粗前的唯一方法。

这是一个耻辱,因为Kaveri终于兑现了农企2006年收购ATI的承诺。AMD终于把GPU/CPU集成在一起,并同等对待,使开发者能够充分运用这两者,协同工作,解决问题,获得新的经验。Kaveri看起来不错,因为这正是HSA的承诺。好戏现在才开始,HSA的广泛运用只是时间问题。很明显,农企正在向着更奇特的方向前进。

下文为MC上的关于推土机架构探究的另一篇文章,个人节选

【推土机的问题仍在迷雾之中】


相对于Intel的风光,农企近些年沉默了不少。自K8之后,推土机架构是农企推出的唯一一次主要微架构革新, 此后的打桩机,压路机,都是基于推土机的调优。因此推土机被各方寄予厚望。但是推土机的许多测试成绩让人失望,Anandtech甚至专门刊发文章究其原因。【即上面的文章】但截至目前尚无任何大众媒体以及学术会议和期刊上发表精确的硬件测量结果,农企官方也并未给出任何解释,缺乏数据支持的胡乱定性,以点带面以偏概全的评测结果却在许多网站传播,这些都对理清推土机的性能劣势有害无益。在这里我指出Anandtech以及其他媒体对推土机诸多分析和猜测的不妥之处。

首先,微架构设计仅仅是全芯片设计中的一部分,并非全部。在微架构设计之外,还有电路,器件以及工艺等几大层面会冲击芯片性能和功耗。而IT传媒对微架构设计关注最多,导致了一种假象,似乎芯片性能好坏主要取决于微架构设计,一旦芯片表现欠佳,微架构设计往往首当其冲,令人哭笑不得。举例来说,分支预测器需要开辟一块很大的历史记录表来存储过去的分支历史,而电路和器件层的设计将在很大程度上决定这个记录表的大小和访问速度,从而影响到功耗、分支预测准确率和失败回退时间;缓存的load-to-use延迟不仅受到微架构制约,更受到物理设计的制约。版图排布将决定各个缓存区块到核心的距离,从而影响取用延迟时间。从这个例子中可以看到,全芯片设计是一个系统工程,微架构仅仅是其中一环,芯片性能与功耗问题全部归咎于微架构,是无论如何说不过去的。


其次,普通用户往往出于自身角度考虑,将单线程性能设立为评价微架构的唯一指标,其实在其他一些领域,单线程性能并没有传统PC上这么重要,微架构的评价其实是很多元化的。在核心外,处理器都为多线程并行做出了很多优化,其中一部分还是以牺牲单线程性能为前提的。例如,增加缓存的关联度,进行缓存的切分管理将有助于多线程运行时的冲突缺失,但同时也可能将增加每一次访问的延迟。牺牲单线程性能来换取多线程并行的微架构,有一个绝佳的实例:在奔腾四把对指令级并行度的发掘推向巅峰的时候,Sun公司推出了一款别出心裁的处理器SPARC T1,这款处理器只有区区六级流水,不支持乱序执行,单线程性能被同期的奔腾四甩出几条街,但是凭借着四路超线程来回切换躲避延迟,SPARC T1在数据库服务器上取得的每核心IPC能与奔腾四比比肩,然而其设计复杂度与功耗都远低于奔腾四,因此T1被作为经典案例写入了计算机体系结构领域的教科书。

最后,实际微架构的设计也远比传媒上宣传的内容复杂的多。以处理器核心内部的流水线为例,有许多可以量化的项目,例如重排列缓冲区(ROB)的大小,保留站可以容纳的条目数量等,但同时也有很多难以量化的项目,例如流水线的旁路(bypass)网络,这个旁路网络负责检查流水线中产生相关性的部分,把相关的数据或者其他资源快速传递给其他部件,从而提高性能,这个旁路可以出现在流水线的很多地方,我们无法找到一个指标去定义bypass网络是否健全。判断微架构层面的性能瓶颈,最好同时也是最专业的办法,是使用硬件性能计数器去读取每个部件上报告的指标,可惜目前尚无这种测试结果披露,因此无法精确断言推土机症结所在。

【农企的转机】
虽然微架构层面的特征我们无从得知,但是有一点是明确的:推土机的定位和T1有着异曲同工之妙。削减FPU、面向线程级并行度、以及农企CTO Mark Papermaster【这名字艺术】在Hotchip主题演讲中对云、数据中心服务器的强调,这些举动都放出了明显不过的信号:推土机向着远离传统PC用户的方向迈出了重要的一步。

服务器上的应用通常对指令级并行度要求不高,但是对线程级并行度要求较高,对浮点运算则几乎没有需求,推土机显而是投其所好。推土机与其说是面向传统PC,还不如说是面向服务器的微架构。农企实力不如Intel,微架构无法像酷睿一样全面。同时对传统PC、服务器、移动平台进行优化,于是放弃正在衰落的PC市场,专攻高利润率的服务器市场,也不失为明智决定。近期虽然农企服务器市占率有所下滑,但其在低功耗服务器上的努力,以及不断推出高性价比的多核服务器产品,也让我们对其后续的市场表现有较高预期。

Intel的处理器使用SMT来提供额外的线程级并行度,超线程技术引入的额外线程其实是共享整个流水线从前端到后端的几乎全部资源,而农企的推土机模块化CMT【簇式多线程】则是使用轻量级的真实核心,在相同价位上,多线程性能超过Intel确实是可以期待的一个亮点。2015年的Excavator将引入对服务器应用非常有吸引力的QoS(质量保证)特性,这将带来怎样的变化,以及农企是否能在服务器上顶住Intel的攻♂势,让我们拭目以待。

img025.jpg

在我即将完成这篇综合之际,农企将FX9590设定为EOL。
翻译了这么多东西之后,我这一条高三狗对推土机也有了比较深的印象。

推土机架构的缺点确实很多,但是正如一楼所言,农企一步一步在改善。农企之前宣布停止更新FX产品线,我只能希望农企是在憋大招,而不是真的放弃了。

这一点也是大多数人不愿意看到的,没了农企推动,Intel就可能继续增多限制,提升价格,乃萌就坐等2k买i3吧

另外谈到APU和HSA,前景应该是大好的。前面Kaveri的测试中,R7的计算性能远远超过一般处理器。如果此后农企像PS4,XBOX中的SOC一样,塞进去几个CMT模块,配合较强的IGP,解决带宽问题,计算能力绝对是顶级的。

按照农企说法,推土机简化了FPU,打算把浮点运算交给GPU,整数运算由CPU负责。
同时推土机在上面的服务器测试中也不比同价位至强弱。

作为一只A饭,我黑AU只是怒其不争。希望AMD能够在Excavator或者之后的架构上能够爆发
按照目前的成绩,如果SteamrollerB做成FX,频率4.5的话,Cinebench至少能够有8.6-9Pts(Kaveri [email protected]为4.23Pts,FX还有L3)。
与此对比,
FX8350为6.91分
3770k为7.55分
4770k为8.2分
3970x为11分
FX9590为8.3左右

由此可见,压路机还是有竞争力的。
但AMD没有继续将压路机、挖掘机做成8C桌面,虽然令人惋惜,这里面应该是有各方面的考量。

img026.jpg

新消息
AMD图谋2015东山再起:重整高性能处理器,放弃模块架构
本月1日AMD迎来了45周年纪念日,作为仅剩的X86双雄之一(先无视VIA吧,份额太小了),AMD在处理器上也曾辉煌过,但是现在AMD一门心思都放在了APU上,高性能处理器门庭冷落,第三代模块化架构Steamroller也只用了APU上,FX系列依然看不到升级的希望。如此低调背后传闻AMD在憋大招,准备在2015年东山再起,重整高性能处理器,放弃“推土机”以来的模块化CMT多核架构,回归传统的SMT多线程架构。

AMD将在2015年末推出全新架构的高性能处理器

AMD在2012年8月迎回了一个老员工??Jim Keller(吉姆?凯勒),他在苹果公司担任移动处理器架构设计师,参与了A4、A5、A5X处理器的开发,但在更早之前他是AMD公司的员工,与AMD前任CEO德克?梅尔一起创造了AMD最辉煌的历史??Athlon XP处理器,彼时的XP处理器甚至比后来的Athon 64还要火。
Jim Keller现在领导着AMD的处理器业务,正在开发新一代处理器架构。根据华尔街的消息,新架构预计在2015年末问世,所以相关的产品可能要等2016年甚至2017年才能正式上市。至于具体的架构、性能如何,目前只知道AMD会回归传统的SMT(同步多线程)设计,放弃始于“推土机”的CMT(Cluster Multithreading)多线程,也就是我们常说的物理多线程,详情可以参考之前的文章:AMD复仇之剑,Bulldozer推土机预览及展望
PS:这是一则有关AMD新一代处理器的传闻,是否真有其事还不好说,但是目前的路线图中AMD的FX及皓龙的高端产品线确实在2015年前都没什么升级计划。至于“推土机”模块化架构,目前是第三代Steamroller,已知的还有Excavator挖掘机架构,预计产品将在2015年上市,当然还是用在APU中。
结合这个传闻来看,第四代推土机架构与新一代处理器架构在时间点上还是能衔接上的,2015年再推一次模块化架构,2015年底推出新一代架构,放弃毁誉参半的模块化设计,回归传统设计。
至于AMD能否真的在性能上重新与Intel一战甚至胜出,这就难说了,我们都希望如此,这样Intel的CPU和芯片组升级也会更有诚意了,不再像这样挤牙膏了。

全文完结。在16年中的现在,再来看看这篇帖子,Zen推到了今年年末,Intel也大幅放缓,A卡Polaris已经有了起色,全看Zen能否打破Intel一家独大的格局了。推土机虽然失败,但是是有工艺和架构缺陷等方面的原因的。虽然推土机作为一个不失为超前的架构,被市场证明是尚不成熟的,但它在PC发展史上也会是重要的一页。

剧毒术士马文

留学中 Comp.Arch|RISCV|HPC|FPGA 最近沉迷明日方舟日服 联系方式请 discord 或者 weibo 私信。目前不在其他平台活动。 邮箱已更新为[email protected]。 看板娘:ほし先生♥

相关文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

返回顶部按钮