错在工艺不成熟上?推土机架构失利分析
扫描二维码
随时随地手机看文章
AMD的推土机架构公布之时绝对让人震惊,被誉为自X86体系确立以来架构变化最大的一次,模块化的设计思路很新颖,当时一片叫好之声。可惜理想很丰满,现实太骨感,等到真正的推土机上市时,推土机带给人们的只是失望。
实际性能上推土机不仅比不过Intel Sdandy Bridge架构,甚至不如自家上一代Phenom II,而功耗和发热又大幅超出,推土机没有带给AMD复兴的荣耀,反倒成了滑铁卢。时至今日,AMD官方多次用CPU性能过剩来安慰自己和客户,这话不无道理,但是AMD在CPU性能上暂时无力跟Intel争雄了,最简单的例子就是国内外各大IT媒体的评测平台基本上都是Intel CPU和主板了。
▲图片来源于Techreport
即便过去了这么久,推土机性能不济一事依然没有准确合理的解释,各方总结起来的原因主要有以下几点:
1.GlobalFoundries工艺不成熟
虽然FX-8150的默认频率已经达到3.6GHz,Turbo频率4.2GHz,但是这仍然低于AMD预期,而且GlobalFoundries并不成熟的32nm SOI工艺使得推土机的功耗和发热巨大,进一步限制了CPU性能提升。
2.软件优化不到位
推土机模块化的设计需要系统和软件的优化,否则难以发挥真正的性能。这方面微软已经推出了任务调度补丁,根据我们的测试,性能确实有一定提升,但是比率非常小,并不足以改变推土机的命运。
3.推土机架构的缓存延迟太高
还是推土机独特的架构所致,因为它也使用了长管线设计,被称为AMD版的Pentium 4,延迟周期太高,有人认为这是性能失利的主要原因,但是从媒体测试Trinity APU的表现来看,即便是做了改进的Piledriver(二代推土机架构)的IPC性能也没有改变多少。
其他理由还有很多,但是这都不是主要原因。Anandtech网站近日撰文分析了推土机架构兵败的原因,原文很长,这里只摘录结论来看。
首先他们也认为推土机的高延迟对桌面应用有一定影响,但是这并非导致性能受影响的主要原因,因为Intel首次使用4周期延迟的Nehalem并不比上一代Penryn架构快多少。
▲主流CPU架构的L2分支预测延迟
寻找元凶:分支预测误预测惩罚及指令缓存命中率
在经过对比测试之后,Anandtech认为影响推土机性能更严重的是其分支误预测(Branch Misprediction)带来的后果以及指令缓存命中率(Instruction Cache Hit Rate)问题,这才是主要影响因素。
▲分支预测性能测试
推土机跟Sady Bridge一样都是长管线设计,但是后者针对可能的分支误预测做了补救措施,有专门的μop缓存以减少预取和解码过程中的延迟。性能低于预期的SAP、SQL Server以及更严重的SPEC CPU2006测试中都表明了推土机在分支误预测上有严重问题。
前面的测试证明了AMD推土机工程师在分支预测性能上做的不错,但是分支误预测上就不如Intel SNB架构了,即便是Trinity APU使用的Piledriver也没有明显改进,性能变化只有1%左右。
不知AMD是否会在未来的架构设计中也增加μop缓存,它可以减少分支误预测带来的惩罚,节省能耗,并给解码单元减少负担,看起来是很完美的设计。
另一个问题是L1指令缓存似乎并不能适应双线程操作,测试中只要在2-way 64KB L1指令缓存中进行双线程操作,命中率就明显下降,看来推土机的模块化设计中缓存的结关联性还是太低,而Intel的做法是双线程应用中使用8-way关联性缓存。
桌面性能以及服务器性能的平衡
文章最后还谈到了推土机的设计思路,这是AMD为什么采用这样的设计的出发点,因为推土机并非面向桌面应用设计,服务器负载才是重点。
桌面应用要求更高的IPC性能,对分支预测敏感,但是对线程数量要求比较低,这些恰好不是推土机的强项,AMD只能使用提高CPU频率以及Turbo频率的做法来满足高端玩家的需要,原本的目标是同功耗下频率至少要高20-30%,但是最终的结果是只高了10%,而且功耗也大幅飙升。
▲服务器应用是推土机架构特性发挥比较好的领域
服务器应用才是推土机架构最擅长的领域,SPEC CPU2006的测试中推土机表现就很好,这里对CPU IPC性能不慎敏感,就算CPU的命中失误比较高,延迟方面所受的影响也比较小,但是它对CPU并行、内存占用要求比较高,因此推土机高延迟但是大容量的L2缓存在测试中表现就很好。
无论那种理由或者缺陷导致了推土机桌面性能不济,目前的现实就是除非架构有较大变化,否则基于推土机架构演变而来的AMD处理器依然难以跟Intel相提并论。在这一代失利中,不知AMD心里是否真的不在意CPU性能了,因为他们的重心转向了APU这样的全功能、低成本处理器。
从实际应用上看AMD的CPU性能过剩论确实很有道理,随便一颗3GHz左右的双核或者四核都可以满足目前的软件和游戏需要,但是仍然不希望也不愿看到CPU领域是Intel一家独大,只是推土机架构的CPU路线图已经延伸到了2015年,未来两三年内都不会看到AMD有新架构CPU发布,前景实在难料。