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

简介:

几个月前,上海兆芯最新的产品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还有多少差距?




本文作者:铁流
本文转自雷锋网禁止二次转载, 原文链接
目录
相关文章
|
算法 编译器
【计算机架构】响应时间和吞吐量 | 相对性能 | 计算 CPU 时间 | 指令技术与 CPI | T=CC/CR, CC=IC*CPI
【计算机架构】响应时间和吞吐量 | 相对性能 | 计算 CPU 时间 | 指令技术与 CPI | T=CC/CR, CC=IC*CPI
1132 1
|
1月前
|
缓存 运维 监控
CPU被打满/CPU 100%:高效应对策略与技术干货分享
【10月更文挑战第3天】在信息技术高速发展的今天,无论是开发人员、运维人员还是数据分析师,都可能遇到CPU被打满(即CPU使用率达到100%)的情况。这不仅会影响系统的响应速度,严重时甚至会导致服务中断。本文将从诊断、分析与解决三个方面,详细介绍处理CPU 100%问题的技术干货。
95 3
|
1月前
|
安全 编译器 异构计算
在CPU设计中,为了提高能效比并减少能源消耗,采用了多种节能技术
【10月更文挑战第2天】在CPU设计中,为了提高能效比并减少能源消耗,采用了多种节能技术
53 4
|
1月前
|
安全 编译器 异构计算
现代CPU的节能技术
【10月更文挑战第2天】现代CPU的节能技术
36 3
|
2月前
|
KVM 虚拟化
KVM的热添加技术之CPU
这篇文章介绍了如何在KVM虚拟机中热添加CPU资源,包括查看当前CPU配置、修改CPU核心数、永久性修改CPU配置以及注意事项等操作步骤。
82 1
KVM的热添加技术之CPU
|
5月前
|
监控 Java API
使用Java检测当前CPU负载状态的技术博客
使用Java检测当前CPU负载状态的技术博客
89 0
|
存储 Linux Docker
跨cpu架构部署容器技术点:怎样修改Linux 的内核版本
在使用Docker 进行跨平台部署之后,我们还可以尝试进行跨架构部署。 从X86 架构上移植到 aarch64 上。
260 0
|
6月前
|
异构计算
振南技术干货集:CPU,你省省心吧!(2)
振南技术干货集:CPU,你省省心吧!(2)
|
6月前
|
人工智能 安全 Anolis
Intel 技术总监:同心共行,共建龙蜥 | 2023 龙蜥操作系统大会
Intel 发布新的至强芯片,都会第一时间支持龙蜥,甚至一些芯片特性的支持,在国际上都处于领先地位。
|
NoSQL Shell Linux
跨cpu架构部署容器技术点:怎么将容器启动时的1号进程挂载到systemctl
--privileged=true:是Docker中的一个参数,用于授予容器的特权权限。当一个容器被设置为特权容器时,它将拥有与主机操作系统相同的权限,可以执行一些高级操作,如访问主机设备、加载内核模块等。
95 0
下一篇
无影云桌面