不久前,Intel、AMD、ARM的CPU被国外媒体爆出全部存在漏洞。而“缺芯少魂”一直是中国计算机产业的心病,无论是联想、神舟、清华同方、华硕、宏基等老牌整机厂,还是华为、小米这些新玩家生产的电脑,电脑中的CPU绝大多数都是Intel或AMD的,国产CPU的使用量可以用微不足道来形容。
虽然走技术引进消化吸收再创新路线开发的CPU未必无懈可击,比如苹果基于ARM深度定制的A系列处理器在这次漏洞事件也中招了。但由于可以自己修改内核,在打补丁上会主动一些。日前,上海兆芯发布了其最新一代的x86 CPU。这款CPU能否防御漏洞还是交给安全人员去评价。今天,我们只说说这款x86 CPU和Intel、AMD还有多少差距。
上海兆芯集成电路有限公司是成立于2013年的国资控股企业。上海市国资委下属上海联和投资有限公司、台湾威盛电子是两大股东,其中上海联和投资有限公司出资2亿美元,占股80%,威盛电子出资4975万美元,占20%。
上海兆芯走的是类似于高铁技术引进再创新的路子。最初的技术来源是台湾威盛电子,而台湾威盛电子是在收购了美国Cyrix和半人马半导体等公司后,进而获得了与x86CPU相关的知识产权,以及一批技术人员。就渊源来看,上海兆芯的x86 CPU技术和一大批技术骨干是来自台湾威盛电子的,其第一款产品ZX-A也与台湾威盛电子的Nano有千丝万缕的联系。
按照上海兆芯之前发布的PPT,其产品线规划为:ZX-A、ZX-B、ZX-C、ZX-D、ZX-E。那么最新发布的KX-5000是怎么一回事呢?
根据兆芯官方公开的消息,“KX-5000是国内首款支持DDR4,且支持双通道DDR4内存的国产通用CPU,其里程碑意义格外的显著”。其中,KX是“开先”的英文缩写,而“开先”、“开胜”是兆芯麾下的品牌。5000中的5指的是兆芯的第五代国产自主可控通用CPU,后面的三位数字对应的是CPU的主频、核心数量,以及面向的市场等信息。
虽然同样属于开先KX-5000系列处理器,但系列中不同型号的处理器还是有一定的差别的。比如四核版的KX-5000系列处理器的二级缓存为4MB,8核版的二级缓存为8MB。另外,根据实际情况,兆芯还会相应的加入英文字母,比如U特指顶级8核心系列;M特指低功耗系列。
因此,KX-5000并不是一款CPU,而是会呈现出类似于Intel I5 8400、I5 8700、I5 8700k等CPU的系列产品。开先KX-5000系列处理器主要针对的市场是PC整机、嵌入式工控、瘦客户机等产品。
在官方报告中,核高基总师魏少军认为兆芯已经完成技术引进消化吸收的历程。那么,相对于最初那款与VIA Nano有千丝万缕联系的ZX-A,KX-5000的性能到底提升了多少呢?
ZX-A是兆芯的第一款CPU,拥有2个核心,主频1.6G,采用台积电40nm制造工艺。
ZX-B是兆芯的第二款CPU,其设计基本与ZX-A相似,主要区别在于ZX-B使用了境内的40nm工艺。
ZX-C和ZX-C+都是基于前一代产品的修改,最显著的一个改变就是将ZX-A的双核修改为四核与八核,以及还针对从VIA引进的内核存在资源冗余和不均衡的问题做了重新设计。此外,兆芯还重新设计FSB接口和访存控制单元,并采用了台积电28nm制造工艺,降低了功耗,减少了量产成本,将CPU的主频从ZX-A的1.6G,提升到ZX-C的2G。
在最新的KX-5000上,兆芯针对ZX-C的短板进行了改进。由于ZX-C延续了VIA原本的前端总线,而且将内存控制器集成在桥片里,就使ZX-C的STREAM测试的成绩非常一般,而且根据STREAM测试,ZX-C的单线程成绩与四线程成绩相近,这种现象是不太正常的。
针对这个问题,KX-5000选择把内存控制器集成到芯片里,并且集成的还是DDR4内存控制器,这样一来,既弥补了过去把内存控制器集成在桥片里带来的不足,又能在商业上有效应对各家内存大厂的DDR3内存条停产的问题。
此外,对KX-5000的CPU内核也做了一定优化。根据兆芯官方宣传,比如将流水线级数较上一代产品减少了5级,并优化了流水线资源,优化原有预测器算法,设计了新的乱续执行引擎,减少了投机执行错误及对应的性能损失等等。
经过几代产品的改进,KX-5000与最初的ZX-A相比在性能上有了较大的提升。就以SPEC2006测试来说,ZX-A在采用Ubuntu14.04操作系统,ICC编译器,主频为1.6G的情况下,成绩为:
SPECint2006:11.3
SPECint_rate2006:20.5
SPECfp2006:12.4
SPECfp_rate2006:18.7
作为对比,KX-5000在采用Ubuntu14.04操作系统,编译器为ICC,主频为2.2G的情况下,SPEC2006测试成绩为:
Specint2006:20.4
Specintrate2006:63.3
Specfp2006:23
Specfprate2006:47.6
单线程的性能提升主要得益于主频的提升,以及将DDR4内存控制器集成进SoC,增加缓存和对CPU内核的修改。而多线程性能的提升一方面得益于核心数量的提升,另一方面也得益于单线程性能的提升。
从测试成绩上来看,从ZX-A到KX-5000,裸CPU性能的提升是比较明显的。
总的来说,KX-5000相对于兆芯以往的产品,具有更高的集成度。将北桥、GPU、DDR4内存控制器等都集成到SoC中,实现了从“CPU+桥片”到“SOC+IO扩展”的转变,而且还支持了DDR4、PCIE 3.0、SATA3.2、USB 3.1 Gen2(Type-C)等标准,在国内CPU公司中还是第一个,因而非常具有国际范。
把视野放到国际舞台,如果那Intel和AMD做对比,KX-5000的性能究竟怎么样呢?
我们就以Intel公司的I5-6500作为参照。由于KX-5000在测试中跑的是Ubuntu14.04操作系统,而I5-6500跑的是Windows操作系统,因而这个成绩仅供参考。
从成绩上看,KX-5000的Specint2006为20.4,而I5-6500的Spec int2006成绩为62.7;KX-5000的Spec fp2006为23,而Spec int2006成绩为60.9。通过对比,就单线程性能而言,KX-5000大致相当于I5-6500的三分之一。
首先看主频,KX-5000的主频为2.1G-2.2G,根据兆芯官方介绍,睿频可以到2.4G。诚然,就这个主频而言,在采用28nm工艺的国产CPU中,确实是很不错了,毕竟在采用28nm制造工艺的国产CPU中,鲜有主频超过2G的。但和Intel一比,这个主频就显得偏低了一些。Intel的CPU很多主频都在3.5G以上。
其次看CPU内核,由于兆芯的性能提升主要得益于通过物理设计提升主频,采用更好的制造工艺,将内存控制器等集成到SoC中等措施,在内核上所做的修改还谈不上脱胎换骨的大换血,并没有实现类似于AMD从“打桩机”到Zen的提升和飞跃,不要说Intel的Skylake、Kabylake、AMD的Zen差距较大,即便是和AMD的“打桩机”和Intel的Nehalem相比也有一定差距。
总而言之,要想追赶Intel和AMD,首先是要提升主频,其次是对内核进行大刀阔斧的修改,争取实现跨越式发展。
根据兆芯的官方宣传,下一代的产品KX-6000将采用16nm工艺,同时探索高频下的设计流程,包括从pcb/substrate/power plan,看PI/SI的问题,高频时序收敛的问题,并争取把主频做的更高。
至于能够实现跨越式发展的新内核,则有可能在KX-7000上出现。对这款新内核的性能,兆芯官方宣传里定了非常高的目标——希望可以达到AMD同期水平。由于这个技术跨越的难度比较高,要想实现这个目标,恐怕有一段路要走。
在文章最后,让我们用国家核高基专项技术总师、清华大学微电子所所长魏少军教授在兆芯的发布会上的发言做总结:“CPU是(核高基)01专项的重中之重,如果无法实现突破,就意味着核高基专项大打折扣......取得现在的成绩,一方面与课题承担单位的不懈努力密切相关,也离不开专家、领导的关心......围绕CPU打造完整的产业链,通过应用牵引、整机带动、软硬结合的战略,找到一条具有中国特色的发展之路至关重要”。
(来源:科工力量)