AMD的模块化物理多线程(CMT)架构推出已经有2年了,第一代是Bulldozer推土机,目前的是Piledriver打桩机,今年底的Kaveri APU上将启用第三代模块化架构Steamroller压路机。从过去的表现来看,AMD的推土机架构在性能上的表现不算成功,与Intel同级别的CPU无法相提并论,之前也有文章深入分析了AMD推土机架构失利的原因。不过这种模块化架构的创新性还是有的,AMD欠缺的是推动业界为新架构优化的能力,因为这对规模、实力较为弱小的AMD来说实在是个难以承载的任务。 之前的性能测试中最为常见的一个例子就是SuperPi,AMD的FX-8120/FX-8150/FX-8350的1M成绩普遍在20秒以上,而Intel的Core i5-2500K就已经接近10秒,双方的性能差距非常大。出现这种情况不单是AMD架构设计的问题,还与SuperPi对新架构支持不足有关。(但是大家都认这个软件的成绩,包括超频玩家)
说了这么多前提我们回到重点上。芬兰超频玩家Stilt根据推土机架构的特点做了优化,不需要硬件升级就能大幅提高推土机架构处理器的SuperPi成绩,我们先来看他做过的性能对比。
首先是默认4.1GHz频率的A10-6800K,32M SuperPi成绩是17分钟34秒(1054秒),而之前他将A10-6800K超频到5GHz之后获得的最好成绩也不过是18分钟15秒(1095秒),考虑到二者之间的频率差异,SuperPi能有这种提升已经算得上惊人。
未修正前的1M SuperPi成绩,CPU是FX-8320
补丁之后的SuperPi成绩,从22秒减少到了19秒,对SuperPi来说提升明显
下面两张图则是他在液氮环境下超频到7GHz之后做成绩。
32M运算用时10分钟40.87秒(640.87秒)(图片点击放大)
1M SuperPi用时11.266秒(点击放大) 据Stilt所说,他开发的这个软件已经接近完成,在Richland、Trinity以及Vishera平台上表现都不错,不在Zambezi(赞比西河)处理器上有点问题,性能提升并不明显,因为代码对Zambezi的寄存器没有反应,好像是AMD在BIOS中用ESI/EDI密码做了保护。
目前这个软件已经提供下载,界面如下图所示。
Bulldozer Conditioner R1.00软件 软件下载地址(右键另存为)
如果你有兴趣读一读这个软件的原理,可以参考哥本哈根大学的一篇论文,SuperPi主要使用传统的X87指令,公认它只对CPU单线程敏感,因此对多核CPU来说SuperPi并不能准确反映他们的性能,不过SuperPi还是被看作一种指令标准。
AMD的推土机架构偏偏对SuperPi来说非常不利,每个模块使用的是2个整数单元+1个弹性浮点单元的设计,相比以往的CPU来说浮点单元减少一半,而且缓存延迟更高,Stilt设计的软件就是修正这个缺点而来的。
编者注:初看原文还以为AMD的推土机架构获得了很强的buff,现在看来这个buff实际上只是针对SuperPi的,对日常应用来说恐怕没什么效果,因为Stilt的软件优化的只是SuperPi的X87指令,除非其他应用也跟SuperPi一样大量使用了X87指令,否则是看不到明显效果的。
这个发现最大的意义是让人看到了希望,如果业界能针对AMD的推土机架构做优化,那么推土机的表现或许就不会是现在的样子。只是这个假设难度太高了,即便是Intel也不能保证软件及开发者都对自己的CPU架构做足够的优化。
|