原作者:pp酱_ppchan
推土机(Bulldozer),是AMD公司在2011年推出的处理器架构。它的核心是模块化设计(Clustered Multi-Threading, CMT),每个“模块”包含两个整数单元和一个共享的浮点运算单元。现在的我们知道它是一个比较失败的产物,运行速度慢、发热大、耗电,甚至由于其性能不具竞争力,它的失败几乎让 AMD 破产。
就硬件复杂性和功能而言,推土机的一个模块,它的整数计算能力相当于双核处理器,而浮点计算能力则相当于单核处理器,或者性能受限的双核处理器。
本次测试的处理器是FX-4200,它有点特殊,作为一个四模块四线程的处理器,它的每个模块只有一个整数单元和一个浮点单元,整个处理器拥有四个整数单元和四个浮点单元。它是从完整的4模块8线程的处理器上(例如FX-8100),每个模块屏蔽掉一个整数单元得来的。因此,相比一般的推土机CPU,它的浮点单元可以说是独占的。
FX-4200的具体参数如下:
- 4模块4线程
- 基础频率3.3GHz,最大加速频率3.9GHz
- 8M三级缓存
- 格罗方德32nm工艺
- 125W TDP
在测试前先说明下测试方法,作为对比,我找来了一颗同系列的FX-4100,它是标准的2模块4线程的处理器。下面是测试条件:
- 两颗处理器的频率均锁定在3.8GHz,北桥2200MHz
- 内存为两条4G,频率锁定2133MHz
- 系统为win7 64位
- 主板为华擎970 extreme4
CPU-Z成绩
非常明显,同样的3.8GHz下,FX-4200的多线程要比4100高很多,21%的差距。多线程倍率3.99,比3.38高不少。
国际象棋成绩
上面两个是FX-4100,下面是FX-4200。在单线程上,两个处理器在同频下相差无几,多线程差距就大了,4200的成绩超过4100约27%。
Cinebench R15测试成绩
第一个是4100,第二个是4200,这差距也很大,4200领先17%。
内存和缓存测试
内存读写汇总成下面条形图:
它们两个在读取和复制上差不多,FX-4200的写入要比FX-4100快一些,二者延迟也非常接近。
但是在缓存上,二者差别就很大了。
4200的读取直接就是4100的两倍,写入与复制两项,4200分别快81%和78%。
二级缓存,4200在写入上达到了翻倍的速度,读取和复制分别超过49%和80%。
三级缓存测试,4200的读取速度爆炸,是4100的2.82倍。写入和复制分别超过对手82%和62%。
浮点性能
这里使用AIDA64里面GPGPU的测试结果。
在Single-Precision FLOPS和Double-Precision FLOPS这两项里,FX-4200的成绩是4100的两倍,这个结果是可预见和可计算的。
对于双精度浮点性能,一般使用FLOPS(每秒浮点运算次数)来衡量,它和处理器的频率、指令集、核心数、浮点单元有关系,对于一颗处理器,它的计算公式如下:
FLOPS=核心数x频率(GHz)x每核心每时钟周期浮点运算次数
每核心每时钟周期浮点运算次数,是可以查询到的,当然不嫌麻烦可以自己去分析架构。
对于FX-4100,它是2模块4线程的处理器,单模块的操作数为8,按照3.8GHz计算,它的性能为:
2 x 3.8 x 8 = 60.8 GFLOPS
这个结果正好对应AIDA64测试的成绩。
对于FX-4200,假设我们不清楚它的屏蔽方式是怎样的,里面有几个模块,那么可以反推,单模块的操作数为8,按照3.8GHz计算,它的模块数为:
121.6 ÷ 8 ÷ 3.8 = 4
结果为4,说明它拥有四个模块。
从双精度测试能够看出,FX-4200与FX-4100这种屏蔽两个模块的处理器,有明显的性能上的差别。
这里多提一句,AIDA64里面的FLOPS并不是实际的性能,更类似于内存带宽的计算,例如:DDR3 1600MHz的内存,它的带宽是12.8GB/s,但实际上因为内存控制器、软件优化、电路等的因素,速度是达不到的。
个人看法
尽管推土机是个失败的架构,但它也为后来Zen架构的诞生做出了贡献。从推土机、打桩机、压路机、挖掘机的不断迭代,新指令集的加入,新技术的试验,工艺的改进和功耗的优化,所有的经验都在为Zen架构打下基础。
以上就是FX-4200的简单测试,技术有限,如有错误,还请指出。