专栏名称: 雷峰网
中国智能硬件第一媒体
目录
相关文章推荐
新浪科技  ·  【跨境理财通2.0落地一月 ... ·  昨天  
51好读  ›  专栏  ›  雷峰网

揭秘 | 中国 X86 CPU 同主频能超越 AMD?

雷峰网  · 公众号  · 科技媒体  · 2017-05-01 22:17

正文

200 多家明星企业,20 位著名投资机构顶级投资人共同参与!「新智造成长榜」致力于发掘 AI 领域有 “三年十倍” 成长潜力的创新公司,下一波 AI 独角兽,会有你么?点击加入

雷锋网按:日前,由北京市网信办、北京市公安局主办的北京国际互联网科技博览会暨世界网络安全大会在北京展览馆开幕。上海兆芯(VIA Alliance Semiconductor)以 “自主安全可靠的国产 x86 解决方案” 为主题,携公司自主设计研发的国产 x86 通用处理器,以及 PC、服务器等参展。“首次公开亮相的兆芯 ZX-D 系列处理器及国产整机 VR 体验,更成为现场瞩目的焦点”——这种报道更是出现在一些媒体的稿件中。

而且根据现场的一块展板,兆芯 ZX-D 的 SPEC2006 定点成绩达到 20 分,考虑到 ZX-D 只有 2G 主频,也就是 2G 主频下实现了 20 分,换算一下就是 10/G。而根据 AMD 公布的数据,Zen 在 3.4Ghz 频率下,使用 GCC4.6 编译器,优化参数 -O2,定点成绩为 31.5,换算一下就是 9.26/G。

这家名不见经传的中国 IC 设计公司的 CPU 在同主频的情形下竟然超越了 AMD,这实在令人震撼!那么,事实究竟怎么样呢?

“超越”AMD 的兆芯是何许人也

上海兆芯集成电路有限公司(英文名:VIA Alliance Semiconductor)是成立于 2013 年的国资控股企业。上海市国资委下属上海联和投资有限公司、台湾威盛电子是两大股东,其中上海联和投资有限公司出资 2 亿美元,占股 80%,威盛电子出资 4975 万美元,占 20%。

VIA 在收购了美国 Cyrix 和半人马半导体等公司后,开发了一系列产品,不过由于性能有限,被 Intel 和 AMD 碾压而被赶出 X86 CPU 市场。

而 VIA 曾经辉煌过的桥片,也因遭遇 Intel 的 X86 专利大棒暴击而失去了市场份额。虽然由于 HTC 曾经的辉煌(一度市值高于诺基亚),且 VIA 和 HTC 的幕后老板都是王雪红,VIA 即便半死不活,王雪红也可以支撑,但随着 HTC 的手机业务在几年时间内急转直下,这使得王雪红不得不向大陆寻求资金援助。于是就有了上海国资委和 VIA 成立合资公司的事件。随后,兆芯承接了核高基 01 专项,获得了数十亿项目经费支持。

关于兆芯的具体介绍,官方有详细的介绍,如下图,因此就不详细说了。 

可以说,兆芯的技术源自 VIA,而 VIA 的技术源自收购自美国的 Cyrix 和半人马半导体。

因此,如果兆芯官方展板没有水分——只有 2G 主频的 ZX-D  SPEC2006 定点成绩达到 20 分,也就意味着在同主频下 ZX-D 的性能超越了 AMD。

换言之,就是 VIA 在寂灭数年后,得道中国大陆资金输血,在主频相同的情况下,能立马秒翻了 AMD 苦心孤诣才开发出来的 Zen...... 这实在是令人目瞪口呆。

VIA Alliance Semiconductor 的 ZX-D 真的能超越 AMD 的 Ryzen?

其实,北京国际互联网科技博览会暨世界网络安全大会并非 ZX-D 的第一次亮相,在 “SEMICON China 2017 国际半导体展” 上,兆芯(VIA Alliance Semiconductor)副总裁傅城博士在会议上公布继开先 ZX-C 系列处理器之后,兆芯最新一代 ZX-D 系列 4 核和 8 核通用处理器目前已经成功流片。

此外,媒体还报道:在展会上业内人士还向我们透露,兆芯将在明年(2018 年)推出 16nm 的 ZX-E 8 核 CPU,并公开了 Fritz Chess Benchmark 国际象棋性能测试的成绩。而且在测试成绩的图片上还有 “兆芯处理器媲美国际主流水准” 的字样。

在这张图表中,首先要说明的是,存在比较严重的数据错误,比如 I5 7500 被拔高了 3000 分左右,而 ADM FX8370 的成绩被压低了 3000 分。一些媒体根据图表报道的文章中称:“运行在 3.0GHz 频率下的 ZX-E8 核心处理器性能已经超过了 AMD 的 FX-8370 处理器”,这完全是将 FX 8370 处理器的测试成绩压低 3000 多分的前提下,得出的结论。

四核版的 ZX-C 的国际象棋分数是 3523,四核版的 ZX-D 的国际象棋分数为 4316。而同样四核的 Zen 的分数为 9360,是 ZX-D(四核版)的 2 倍有余。由于该图表中没有标注 Zen 的具体主频,考虑到 AMD 的锐龙处理器主频很可能会在 3G 以上,如果以 3G 主频来计算,同主频下 Zen 的国际象棋分数也是 ZX-D 的 1.5 倍。即便表格中的 Zen 主频达到 4G(不过 GF 代工的 Zen 主频貌似只有 3.6G),ZX-D 在同主频下的国际象棋测试依旧不敌 Zen。

因此,根据上海兆芯在北京国际互联网科技博览会暨世界网络安全大会公布的展板,在同主频下,VIA Alliance Semiconductor 的 ZX-D 是优于 ADM 四核的 Zen。

但根据 “SEMICON China 2017 国际半导体展” 上兆芯后,媒体发布的印有兆芯官方字样的图表,在同主频下,在单线程性能方面,ZX-D 和 ADM 四核的 Zen,差距还是比较大的。

如此一来,兆芯给出的官方宣传就自相矛盾了。那么,在自相矛盾的背后,到底隐藏了怎样的真相呢?

ZX-D 的性能到底怎么样?

要探究 ZX-D 的性能,其实只要探究 ZX-C 的性能,并根据国际象棋测试中展示的 ZX-C 和 ZX-D 性能差距做一定增幅就可以了。

那么,ZX-C 性能到底怎么样呢?

根据实际测试,测试的编译器采用 GCC 4.8.4,编译的选项采用 - Ofast 以及 profiling,ZX-C(2G 主频)的 SPEC06 测试成绩如下:

400.perlbench        11.9                       

401.bzip                 2 8.39

403.gcc                  10.5

429.mcf                 10.9

445.gobmk            10.6

456.hmmer            10.7

458.sjeng               10.9

462.libquantum      23

464.h264ref           14.7

471.omnetpp         7.12

473.astar               7.49

483.xalancbmk     9.59

SPEC CINT2006    10.77

410.bwaves          12.9

416.gamess          8.25

433.milc               11.2

434.zeusmp          9.59

435.gromacs        5.79

436.cactusADM    9.64

437.leslie3d          9.58

444.namd            7.68

447.dealII            13

450.soplex          11.7

453.povray         11.3

454.calculix         6.44

459.GemsFDTD   10.6

465.tonto            6.76

470.lbm              14.1

481.wrf               10.1

482.sphinx3        12.8

SPEC FP2006      9.77

 

作为参照笔者找来了 Intel G1840 和 Intel i5 4460,在同样的测试环境下,以 ZX-C4600、Intel G1840 和 Intel i5 4460 三款处理器的成绩做对比。

从图中可以看出,C4600、G1840 和 i5 4460 三款处理器 CINT2006 的分值分别为 10.77、25.8 和 35.32,也就是定点性能 G1840 是兆芯 / VIA C4600 的 2.4 倍,i5 4460 是兆芯 / VIA C4600 的 3.3 倍。三款处理器 CFP2006 的分值分别是 9.77 和 27.1 和 40.33,也就是说浮点性能 G1840 是兆芯 / VIA C4600 的 2.8 倍,i5 4460 是兆芯 / VIA C4600 的 4.1 倍。

从 SPEC CPU2006 单线程程序的性能对比可以看出,2GHz 的兆芯 / VIA C4600 和主流处理器如 3.2GHz 的 i5 4460 性能差 3.3(定点)到 4.1(浮点)倍。

从每 GHz 的 SPEC CPU2006 分值可以算出,C4600 每 GHz 为 5 分左右,而 Intel Haswell 处理器每 GHz 的分值为 9-12 分左右——赛扬 G1840 和 i5 4460 的分值差距可能源自 AVX 等指令的向量优化加成,L3 cache 大小和 ddr 频率等差别。

因此,在定点和浮点每 GHz 主频的 SPEC2006 测试都为 5 分左右的情况下,根据国际象棋测试,ZX-D 在测试成绩上仅仅小幅度优于 ZX-C。在此情形下,每 GHz 主频的 SPEC CPU2006 定点成绩优于 AMD 公布的 9.26 的可能性是非常小的。

ZX-D 的 SPEC2006 定点、浮点达 20 分的关键在于编译器

SPEC2006 存在一个问题,那就是测试结果非常依赖编译器和所选择的优化选项。

在 SPEC 测试中,不同的编译器会带来不同的结果。而且是否开启向量优化,以及并行选项都会对测试结果造成很大影响。比如 SUN 就曾经通过编译器优化将测试成绩提升 50%,而作为业界巨头的 Intel,其 ICC 编译器更是威力无穷——在采用 ICC 的情况下,可以取得大幅优于 GCC 的测试成绩。

笔者有幸从权威第三方单位,拿到了 ZX-C 的 ICC 测试成绩,单线程定点 17.4,浮点 18.2。

相对于编译器采用 GCC 4.8.4 的成绩:定点 10.77,浮点 9.77。使用 ICC 后成绩可谓突飞猛进,单线程定点成绩提升了 61.5%,单线程浮点成绩提升了 86.2%。

既然 ICC 这么好,那为何大家还普遍使用 GCC 呢?其中的原因之一就在于 ICC 的很多优化过于极端,在一些应用中甚至会导致运行出错,所以目前 GCC 是主流。ICC 对于兆芯 / VIA 而言,不服跑个分的因素远远大于日常中能起到的作用。

而 ZX-D 的 SPEC2006 定点、浮点达 20 分的成绩,其实就是使用 ICC 测试后得出的成绩。为此,笔者专门咨询了参与 ZX-D 测试的专家,得到的回复是:如果要达到 20 分这个水平,那必然是 ICC 下的测试结果。

另外 ZX-D 在缓存和内存控制器上的改进也一定程度上提升了 SPEC 测试的成绩。

ZX-D 将内存控制器和 CPU 集成到了一起,这种做法可以使 SPEC2006 的测试成绩相对于 ZX-C 提升 5-6% 左右(ZX-C 的内存控制器没有和 CPU 集成在一起)。将缓存从 ZX-C 的 2M 提升到 4M,也有助于提升 SPEC2006 测试成绩。

不过优化片外的访存模块和集成度的提升实际效果比较有限,远远比不了微结构改进优化带来的 IPC 提升。什么是微结构优化改进呢?比如 AMD 采用 Zen 替换了性能相对落后的打桩机和挖掘机,这种改变才能给 CPU 性能带来质的飞跃。

对 ZX-D 的 SPEC2006 定点、浮点成绩持保留态度

由于兆芯(VIA Alliance Semiconductor)在之前的宣传中存在很大水分和数据造假的前科。比如在 “十二五” 科技成果展上,兆芯官方资料宣称:国产 X86 通用处理器的成功自主研发和量产,令国产处理器在性能方面完成了一次跨越式的提升,从 “十二五” 初期的不足国际整体水准的 10% 提升到了目前的 80%。

而当时,兆芯 / VIA 只有 ZX-C,而 ZX-C 和 Intel G1840 和 I5 4460 的成绩对比之前已经介绍了,就定点而言,I5 4460 是 ZX-C 的 3.3 倍,G1840 是 ZX-C 的 2.4 倍。就浮点而言,I5 4460 是 ZX-C 的 4.4 倍,G1840 是 ZX-C 的 2.8 倍。

在此情形下,在 “十二五” 科技成果展上宣传:从 “十二五” 初期的不足国际整体水准的 10% 提升到了目前的 80%”,这种宣传注水太过严重。

而在 “SEMICON China 2017 国际半导体展” 之后公布的国际象棋测试图表,也存在数据造假的问题。比如 Intel I5 7500 跑分虚高 3000 分。

再比如 AMD 的 FX 8370 的测试成绩有很大问题——兆芯提供的图表中,FX8370 的成绩只有 9000 多分,但这个分数大约只和 FX 6350 差不多。

根据网络公布的测试,FX 8370 在国际象棋测试中跑出了 12751,还的测试甚至跑出了 13546 分的成绩(这个成绩可能是超频下取得的)。而在兆芯提供的图表中,FX8370 的成绩只有 9300 多分,明显少了 3000 多分。由于偏差幅度实在是太大,这已经不能用测试误差来自圆其说了。

有鉴于兆芯(VIA Alliance Semiconductor)官方宣传资料有严重注水和造假的前科,对于本次展板上的 ZX-D 的 SPEC2006 定点达到 20 分,浮点超过 20 分,特别是在没有标注测试环境的情况下,大家没必要将之奉为圣经。

考虑到 ZX-D 其实是 ZX-C 的 “增加集成度 + 增加缓存” 版本,笔者认为,如果是采用 ICC 编译器的结果,那么在 SPEC 测试中优化选项全开,取多次测试的最好成绩,到达 20 分还是有一定可能性的。

但如果兆芯(VIA Alliance Semiconductor)官方或者有媒体宣称 ZX-D 定点达 20 分,浮点超越 20 分是在 GCC 下的成绩,在没有权威第三方给出测试成绩钱,笔者持保留态度。

毕竟,根据 AMD 公布的数据:

在 3.4Ghz 频率下,使用 GCC4.6 编译器,优化参数为 - O2,Piledriver(打桩机)和 excavator(挖掘机)的 SPECint06 测试值分别为:20.7、19.2。换言之,如果 ZX-D SPEC2006 定点达 20 分的成绩是 GCC 下的,那么意味着 ZX-D 可以匹敌 3.4G 主频下的 Piledriver 和 excavator,而这个成绩显然也和兆芯自己发布的国际象棋测试图表相违背。

而且经过实测,VIA Alliance Semiconductor 的 ZX-D 实际性能和 Intel atom j1900 相当。本质上说,ZX-D 是基于 ZX-C 的改版,在微结构不动情况下,做的 SoC 设计,集成了内存控制器,pcie 控制器等,二级 cache 变大。为何只做 SoC 设计呢?原因在于微结构的改动容易错,周期长。而 SoC 的设计相当于集成,用 ip 攒芯片见效快。

总而言之,ZX-D 实际性能远远达不到 3.4G 主频下的 Piledriver 和 excavator 的水平。在北京国际互联网科技博览会暨世界网络安全大会现场展板——兆芯 ZX-D 的 SPEC2006 单线程定点成绩达到 20 分,浮点超越 20 分,这个成绩也是在 ICC 下取得的。