/ 中存储网

技术引进再创新,国产X86 CPU和Intel还有多少差距?

2017-09-25 12:15:46 来源:雷锋网

几个月前,上海兆芯最新的产品ZXD在2017年北京国际互联网科技博览会暨世界网络安全大会上亮相。ZXD虽然相对于Intel和AMD的CPU还有不小差距,但相对应兆芯第一款CPU ZXA而言,确实有着很大的进步——自上海兆芯自2013年成立以来,从第一款产品ZXA,到如今最新的产品ZXD,上海兆芯用了数年时间实现以VIA的技术为基础,将产品的裸CPU性能提升了80%以上。

ZXC相当于ZXA性能有多少提升?

ZX-A 是兆芯的第一款CPU,技术源自VIA,拥有2个核心,主频1.6G,采用台积电40nm制造工艺。就其性能来说,根据相关单位的SPEC2006测试,主频1.6G的ZXC在采用Ubuntu 14.04操作系统,ICC编译器的情况下,成绩为:

SPECint2006 :      11.3

SPECint_rate2006:  20.5

SPECfp2006 :       12.4

SPECfp_rate2006:   18.7

STREAM测试的单线程成绩为:

Copy   5502.8MB/s;

Scale   5042.9MB/s;

Add    5321.6MB/s 

Triad   5252.7MB/s

STREAM测试的多线程成绩为:

Copy   5191.1MB/s;

Scale   5104MB/s;

Add    5383.8MB/s 

Triad   5461.9MB/s

这里介绍下,SPEC2006是在行业内相对比较权威的测试软件,通过26个程序对CPU进行测试,然后计算结果,分数越高性能越好。不过SPEC2006测试也并非无懈可击——可以通过不说明编译器等条件作弊,是否打开auto parallelization也有有成绩差异,还有base分值和peak分值会有一定的差别等等。

即便如此,相当于一些黑箱测试而言,SPEC依旧是相对比较公正的测试,能够比较客观的反映CPU的实际性能,毕竟绝对客观的测试是不存在的,就如同高考,即便存在这样或那样的问题,但目前来看,依旧是最具可操作性,相对公平合理的考评方式(北京、上海除外)。

ZX-C是对VIA技术的引进消化吸收,相对于ZXA的2个CPU核,ZXC改为4个CPU核,而且CPU核之间核心通过 L2 Cache 交互,相比较ZXA而言,ZXC的多核性能有所提升。针对从VIA引进的内核存在资源冗余和不均衡的问题做了重新设计,并采用了台积电28nm制造工艺,降低了功耗,提高了稳定性,减少了量产成本,将CPU的主频从ZXA的1.6G,提升到ZXC的2G。

另外,兆芯还重新设计 FSB 接口,FSB 频率从 1066MHz 提高到 1333MHz。对访存单元进行了重新设计,设计了全新的 L1/L2 访存控制单元,优化访存性能等工作。

而这些修改最直接的体体现就是在性能上,根据相关单位的SPEC2006测试,主频2.16G(睿频)的ZXC在采用Ubuntu 14.04操作系统,ICC编译器的情况下,成绩为:

Specint 2006:      17

Specint rate2006:   50

Specfp 2006:       18.2

Specfp rate2006:   36.3

ZXC相对于ZXA,在单线程定点成绩上提升了约54%,多线程提升了约147%;就浮点性能而言,ZXC相对于ZXA单线程性能提升了约50%,多线程性能提升了约50%。

虽然在Ubuntu 14.04操作系统,ICC编译器的情况下,Specint 2006:17;Specfp 2006:18.2 的成绩相对应Intel有较大的差距,但相对于ZXA而言,ZXC的进步着实不小。

技术引进再创新,国产X86 CPU和Intel还有多少差距?

ZXD性能再提升且弥补了ZXC的最大短板

之前介绍了,ZXC相对于ZXA,在单线程定点成绩上提升了约54%,多线程提升了约147%;就浮点性能而言,ZXC相对于ZXA单线程性能提升了约50%,多线程性能提升了约50%。

但ZXC也有自己的短板,那就是前端总线——对于图像、音频、视频、游戏、FPGA综合以及科学应用等应用,通常是对于大工作集的少部分数据进行操作,前端总线就成为一个主要的性能瓶颈。

ZXC延续了VIA原本的前端总线(VIA V4 bus)的设计——前端总线(front-side bus,FSB)是早期Intel芯片的计算机通信的接口,和AMD公司的EV6类似,其连接CPU和北桥芯片,内存控制器通常集成在北桥中——ZXC没有将内存控制器集成到处理器上,而是在桥片里。这样一来,导致STREAM测试的成绩就不太好看了。

根据STREAM 5.10测试的成绩,单线程的成绩为:

Copy: 7685.0 MB/s

Scale: 7446.4 MB/s

Add:  8129.5 MB/s

Triad:  7981.7 MB/s

4 线程测试成绩为:

Copy: 7426.3 MB/s

Scale: 7504.0 MB/s

Add:  7656.8MB/s

Triad:  7787.7 MB/s

从中可以看出,ZXC的STREAM 测试成绩是比较一般的,而且相对于ZXA而言提升也比较有限。

ZXD的最明显改进之处就在于更换了更好的DDR4内存控制器,是国内首款集成了DDR4内存控制器的国产桌面CPU,而且ZXD还把内存控制器集成到芯片里——相对于ZXC的DDR3内存控制器,ZXD采用了DDR4内存控制器,并把内存控制器集成到芯片里,而非像ZXC那样把内存控制器集成在桥片里,而这个改变一定程度上提升了CPU的综合性能。

此外,ZXD很有可能将FSB总线换了类似于Intel的dmi这样的接口。两者因素相加,使ZXC存在的短板不复存在。最典型的证明就是STREAM测试成绩大幅提升。根据相关单位的测试,STREAM 5.10测试单线程成绩为:

Copy: 10942.4 MB/s

Scale: 10371.4 MB/s

Add:  10603.1 MB/s

Triad:  9850.1MB/s

多线程成绩为:

Copy: 12666.1 MB/s

Scale: 13060.3 MB/s

Add:  11270.2MB/s

Triad: 11302.6MB/s

从测试成绩可以看出,ZXD的SRTEAM测试成绩相对于ZXC有了显著提升,弥补了过去的短板。并且通过更新了ddr4内存控制器,在商业上还能有效应对各家内存大厂的DDR3内存条停产的问题。

除了内存控制器上的改进之外,ZXD增加 X86 指令缓冲器,提供了更精确的循环缓冲功能,并通过整体流水线前后端各级优化,大幅减少流水线级数,有效降低了分支预测失败的性能损失......经过一系列的改进,直接体现在ZXD相对于ZXC的性能提升,根据相关单位的数据,在采用Ubuntu 14.04操作系统,内存为 32GB DDR4内存,硬盘为Intel 530 系列120GB 的SSD硬盘,编译器为ICC,ZXD睿频到2.2G的情况下,SPEC2006测试成绩为:

Specint 2006:      20.4

Specint rate2006:  63.3

Specfp 2006:       23

Specfp rate2006:   47.6

ZXD这个成绩虽然相对于Intel和AMD依旧有不小的差距,就裸CPU性能而言,ZXD大约是Intel主流四核CPU的30%—40%。而且必须说明的是,兆芯对CPU架构的修改还是相对有限的,目前所做的修改并非脱胎换骨的大换血,比如没有实现类似于AMD从“打桩机”到Zen的提升和飞跃。

技术引进再创新,国产X86 CPU和Intel还有多少差距?

技术引进再创新,国产X86 CPU和Intel还有多少差距?

配图来自兆芯官网