微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 行业新闻动态 > 国产CPU实力备受英特尔打压,龙芯/申威/飞腾究竟实力几何?

国产CPU实力备受英特尔打压,龙芯/申威/飞腾究竟实力几何?

时间:09-02 来源:中国科普博览 点击:

一直一来,缺芯少魂一直是中国信息产业的心病,中国的CPU市场也一直被Intel、ARM等国外厂商垄断,龙芯、申威、飞腾等国产CPU在社会上也往往遭到别有用心之徒诸如"打磨芯片"、"骗经费"、"政绩工程"等舆论抨击。不久前,采用申威26010的神威太湖之光在TOP500刷榜,飞腾也公布了采用ARM指令集的飞腾1500A和飞腾2000,龙芯的3A3000也顺利完成流片,那么这些国产CPU的性能到底如何呢?

如何评价CPU

如何评价CPU的性能呢?从体系结构的角度来看,有个指标叫MIPS,即每分钟执行多少条指令,执行指令数量越多,性能就越好,但这存在一个问题,当CPU指令集不同的时候,比较MIPS就意义不大了--比如A一条指令只算一个加法,B一条指令能做一个1024点的FFT。特别是在不同指令集的情况下,如何评价CPU的性能呢?

评价CPU性能必须考虑应用的多样性,比如科学运算重视双精浮点性能,但是如果数据供不上,运算能力再强也没用;比如PC日常使用更偏重于定点性能;再比如计算中心多任务环境关注的是吞吐率......因此单纯用某一个指标来衡量CPU性能是不科学的,必须综合考量。

业界也推出了很多基准测试程序,比如针对CPU的SPEC,针对嵌入式应用的EEMBC等。SPEC测试是比较权威的测试程序。和一些黑箱测试程序调整计分方式和计分权重后测试结果就发生变化不同,SPEC测试到底跑了什么程序,以及各项程序跑分和计分方式全部公开透明,而且覆盖范围广--SPEC2000有12个定点程序,14个浮点程序,而且有比较强的代表性,比如gzip、vpr、gcc、mef、eon等。而SPEC2006则把定点程序扩展到14个定点程序和16个浮点程序。

在计分方法上,SPEC在计分上采用归一化的几何平均方法来进行综合性能评估--将不同CPU的执行时间与参照对象相比较后得到一个相对值。SEPC2000的参照对象是Ultra SPARC 2工作站的主频为300Mhz的CPU。如果运行测试程序1的时间是参照对象的十分之一的话,测试就是1000分,测试程序2的耗时是参照对象的八分之一的话,则为800分.....最后再算几何平均--比如SEPC2000有12个定点测试,就将12个测试成绩相乘再开12次方,SPEC2006相对于SPEC2000而言仅仅是扩展了几项测试程序,使测试更加科学合理。这里,我们以三星猎户座7420和华为麒麟950为例计算SPEC测试成绩。

以上为两款芯片的跑分成绩,由于两款SOC均是购买ARM的IP授权做集成的产物,猎户座7420的成绩其实是ARM Crotex A57的成绩,华为麒麟950则是ARM Crotex A72的成绩,将12个子项相乘再开12次方后,得到ARM Crotex A57在2.1G主频时定点测试成绩为1376分,换算一下就是655/G,ARM Crotex A72的定点成绩则为749/G。

不过SPEC也非尽善尽美,测试存在容易受编译器影响的问题。举例来说,SUN曾经通过编译器优化提升SPEC跑分50%,龙芯的某一代产品也曾用自主研发的LCC编译器,比使用GCC定点跑分提升了60%。另外,即便同样是GCC编译器,不同版本的GCC编译器下,测试成绩也会有很大差异。笔者认为,出现这种现象的根源并非SPEC测试的缺陷,反而用事实说明了,最后的用户体验是软件+硬件的结果,充分说明了软硬件磨合的重要性。

可能有的读者对不明白什么是编译器,在此说明一下,程序员在编程的时候写的是编程语言,但是计算机运行的时候是机器语言,编译器就是将程序员的编程语言翻译成机器语言的工具。

龙芯、飞腾、申威和Intel的比较

现在,我们先就龙芯和飞腾的桌面芯片与Intel的CPU做比较。由于桌面芯片更加注重单线程性能--单核性能是基础,很多程序都依赖单进程的处理速度,如果单核性能上不去,核心数再多也没用,这也是AMD 六核、八核芯片打不赢Intel 四核芯片的原因。另外,对于桌面芯片来说,日常使用中更加倚重定点性能。因此,在这里我们以单线程实际测试的定点成绩做比较。

在编译器为GCC5.2的情况下,Intel I5 4460在3.2G主频下SPEC2006的定点成绩为32分;在编译器为GCC4.4.7的情况下,龙芯3A3000在1.5G主频下的定点成绩为11分;在编译器为GCC4.8的情况下,飞腾1500A在1.8G主频的定点成绩为10分。诚然Intel在编译器上占有一定优势,这里为了方便比较就忽略编译器带来的差异了,就定点性能而已,龙芯3A3000和飞腾1500A的单线程性能大约为Intel I5 4460的三分之一。

差距在哪里呢?主要是在主频上,其次在微结构。龙芯3A3000的主频只有1.5G,飞腾1500A的主频只有1.8G,而Intel I5 4460的主频达3.2G,而且如果需要的话,还能睿频到3.4G,很显然,在主频上龙芯3A3000只有Intel I5 4460的一半不到,而飞

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top