
一直一来,缺芯少魂一直是中国信息产业的心病,中国的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在21G主频时定点测试成绩为1376分,换算一下就是655/G,ARM Crotex A72的定点成绩则为749/G。
不过SPEC也非尽善尽美,测试存在容易受编译器影响的问题。举例来说,SUN曾经通过编译器优化提升SPEC跑分50%,龙芯的某一代产品也曾用自主研发的LCC编译器,比使用GCC定点跑分提升了60%。另外,即便同样是GCC编译器,不同版本的GCC编译器下,测试成绩也会有很大差异。笔者认为,出现这种现象的根源并非SPEC测试的缺陷,反而用事实说明了,最后的用户体验是软件+硬件的结果,充分说明了软硬件磨合的重要性。
可能有的读者对不明白什么是编译器,在此说明一下,程序员在编程的时候写的是编程语言,但是计算机运行的时候是机器语言,编译器就是将程序员的编程语言翻译成机器语言的工具。
龙芯、飞腾、申威和Intel的比较
现在,我们先就龙芯和飞腾的桌面芯片与Intel的CPU做比较。由于桌面芯片更加注重单线程性能——单核性能是基础,很多程序都依赖单进程的处理速度,如果单核性能上不去,核心数再多也没用,这也是AMD 六核、八核芯片打不赢Intel 四核芯片的原因。另外,对于桌面芯片来说,日常使用中更加倚重定点性能。因此,在这里我们以单线程实际测试的定点成绩做比较。
在编译器为GCC52的情况下,Intel I5 4460在32G主频下SPEC2006的定点成绩为32分;在编译器为GCC447的情况下,龙芯3A3000在15G主频下的定点成绩为11分;在编译器为GCC48的情况下,飞腾1500A在18G主频的定点成绩为10分。诚然Intel在编译器上占有一定优势,这里为了方便比较就忽略编译器带来的差异了,就定点性能而已,龙芯3A3000和飞腾1500A的单线程性能大约为Intel I5 4460的三分之一。
差距在哪里呢?主要是在主频上,其次在微结构。龙芯3A3000的主频只有15G,飞腾1500A的主频只有18G,而Intel I5 4460的主频达32G,而且如果需要的话,还能睿频到34G,很显然,在主频上龙芯3A3000只有Intel I5 4460的一半不到,而飞腾1500A也只有Intel I5 4460的一半多一点。
微结构也就是常说的CPU核,在主频相同的情况下,两款CPU的性能差异取决于微结构的差异,像龙芯GS464E、Intel的Haswell、ARM的Crotex A72都是微结构。龙芯3A3000在1G主频时,SPEC2006测试定点成绩为73,飞腾1500A主频为1G时,SPEC2006测试定点成绩为55,而I5 4460在1G主频时的定点成绩为10。可以说,龙芯的GS464E大约有Intel的Haswell性能的73%,而飞腾的FTC660大约是Intel的Haswell性能的55%。
那么如何提升主频和微结构呢?提升微结构需要在指令分支预测,寄存器重命名,多指令通路,乱序发射,功能部件,访存性能等方面做文章,目的是使整个的指令流水的效率尽可能高,因为如果有一个环节设计不好或不匹配的话,整个系统效率就发挥不出来,这是CPU的核心技术。提升主频很大程度上要依赖后端设计能力,也就是要指物理层电路的具体优化,包括单元布局、时序优化等放方面下苦功。
接下来就国产服务器CPU与Intel的服务器CPU做比较,以国产服务器CPU中多线程性能最强的飞腾2000为例。在编译器为GCC48的情况下,飞腾2000在2G主频的单线程SPEC2006测试成绩为定点124,浮点113,换算一下飞腾2000的CPU核FTC661的定点成绩为62/G,和Intel Haswell 10/G的成绩依旧有不小的差距,由于飞腾2000为64核芯片,在单线程性能相对有限的情况下,依靠核心数量的优势,FT2000的多线程SPEC2006测试成绩为定点570,浮点482,全芯片性能与Intel Xeon E5-2695v3相当,这是非常了不起的成绩。
由于科学计算倚重双精浮点性能,超算芯片的比较中就以双精浮点性能为指标进行,申威26010的双精浮点性能为3T,和Intel目前最好的超算芯片KNL相当,更难人可贵的是这是在制造工艺与Intel相差2代的情况下取得的成绩,这充分体现出申威26010在设计思想上的先进性。
结语
在桌面芯片上,龙芯和飞腾目前最好的桌面四核芯片的单线程定点测试成绩大约为Intel I5 4460的三分之一,虽然和Intel的差距依旧比较大,但目前龙芯和飞腾还没有大型游戏等对CPU性能要求较高的软件应用,现在的性能对于绝大多数应用来说都是够用的,特别是对党政军办公电脑和一体机,龙芯3A3000和飞腾1500A的性能已经属于性能过剩了,只要软件跟得上,在党政军领域能替换Intel的CPU。
在服务器CPU上,飞腾2000虽然在单线程性能上和Intel有一定差距,但其全芯片性能颇为不俗,能与Intel Xeon E5-2695v3相当,已经是全球全芯片性能最强的ARM服务器CPU,如果ARM等国外厂商能完善其服务器CPU的软件生态,飞腾则有可能借着ARM的生态一飞冲天。
在超算芯片上,申威26010完全可以和Intel最好的加速KNL硬碰硬的较量。
出品:科普中国
制作:铁流
监制:中国科学院计算机网络信息中心
“科普中国”是中国科协携同社会各方利用信息化手段开展科学传播的科学权威品牌。
本文由科普中国融合创作出品,转载请注明出处。
飞腾排版软件支持各种标准,是开放式的中文排版软件。它的输出结果为PostScriptLeve II,并支持OPI等标准,同时飞腾排版软件采用了开放式的字体名,使字体名允许由用户自己增添或修改,以适应其它公司所采用的字体名。Windows 95风格的专业帮助系统以其丰富的内容使用户在工作时可轻松获得提示信息。飞腾提供使用的度量单位有“字、磅、毫米、英寸、厘米、级、PICA”,可以根据需要进行选择。
可以排入飞腾(FIT)的格式有:GRH、TIF、TGA、EPS、BMP、GIF、PCX、JPG、PS。
FIT提供CMYK、RGB和HSB三种彩色颜色模型,选用其中的任何一种,通过选色或定义各颜色分量的百分比,可以给对象设置颜色。输出胶片时,可以分成C、M、Y、K四色版。在后期印刷过程中,经过C、M、Y、K四色的重叠印刷,则可再现为对象所设置的颜色。
排版方式
目前系统提供四种排版方式:正向横排、反向横排、正向竖排、反向竖排。
这一特色很重要,尤其是反向横排(由右至左念,但是其中英文还保持顺排),你打死 word 它也排不出来。
还有“竖排字不转”,可以使你竖排的数目字和英文不侧躺90°
系统缺省为正向横排,用户可根据自己的需要选择排版方式。
飞腾可设置立体、勾边、粗细、倾斜、空心、旋转等变体字,从而做成有创意效果的字。
其中多重勾边和字体变粗细功能比较贴心
拼音/注音排版简介
使用拼音/注音功能,可以在汉字的旁边排入拼音或注音。通过不同的选择可以将拼音或注音排在汉字的上、下、左、右四个位置。拼(注)音的大小及汉字的距离均可以调整。另外,还可以给注音排音调。
扩展字符简介
FIT系统提供“扩展字符”子窗口,帮助用户输入一些特殊符号,使用“扩展字符”子窗口可以输入简谱、五线谱、棋牌、中文数码、阿拉伯数码、附加数码、分数码和其他一些字符。
编辑简介
飞腾对图可做多种编辑。如:用文字或图元裁剪;图的镜像、旋转、倾斜、及改变大小;设置灰度图和彩色图的挂网参数。图可以用阳图或阴图方式显示、取反或取代被压的对象。对于二值图(bitmap)还可以改变颜色、勾出图的轮廓线以及用透明方式显示。这个功能在Coreldraw中也有另外,还可以用精细显示方式显示图像。排在图像上的文字,当与图中的颜色比较接近时,文字不容易被看清楚。飞腾提供的裁剪勾边功能,能够自动为这部分文字加上不同颜色的勾边,使得文字清晰可见。裁剪勾边功能还能够使得勾边的文字其压在图上的部分保留勾边,落在图外的部分去掉勾边,从而产生一种特殊的效果。
图像的管理这个是我最喜欢的一个功能,在多人合作时相当重要
在飞腾中,用户对图像的管理可以通过[图像管理]对话框来进行。在这个对话框中列出了文件中排入图像的名称、类型、颜色、排入的页号和图像的所在路径,这些信息可以被打印。在这个对话框中,还可以改变图像文件的连接关系,即选用其它图像文件来替换某个选中的图像文件。执行[编辑]菜单中的[图像管理]命令,打开[图像信息]对话框。
其中[链接信息]项的内容有三种:“OK”表示链接正确;“Update”:表示图像文件已被更换;“NG”:表示此图像文件的链接路径不正确。
在对话框中选中一个图文件名后,按[重设文件]按钮将打开[图像排版]对话框,在其中可选择另一个图像文件来替换选中的图像。
对话框中的[打印]按钮用于打印列出的所有图像信息。
表格简介
一、表格的特点
飞腾的表格使用表格子窗口进行编辑。
飞腾系统的表格排版功能集成在飞腾组版系统中,具有与飞腾统一的界面风格。在一个界面下能方便地对表格进行编辑和修改。
二、表格的功能
“表格”提供了一系列有效的工具支持表格框架的绘制、调整及修改,可以在任意表项内排复杂的文字项,文字项有横竖排及反向排版等方式,还可以选择各种水平格式、垂直格式及对齐方式,表项中可以填底纹,多个表项还可以合并或分离,表格子窗口还提供了工具箱,尺子,滚动条,控制条等辅助工具。同时,飞腾的表格还有自动分页,加表头等功能。
OLE简介
OLE功能实现程序间的数据交换。
飞腾支持OLE20(Object Linking and Embedding)。
OLE是Object Linking and Embedding的缩写,是在不同程序间交换数据的标准接口。
支持OLE接口标准的应用程序可以分为两类,一类是OLE服务器(OLE Server
),另一类是OLE客户(OLE Client)。“OLE服务器”程序所产生的数据可以插入到“OLE客户”程序,这组数据称为“OLE对象”,在“OLE客户”中可以对这组数据进行显示、输出甚至比例变倍等 *** 作,而且不必知道这组数据的格式或内容。
所以,你可以直接粘贴Excel或者在corel中的元件过来用了。
一个“OLE客户”可以插入任何“OLE服务器”产生的数据,所以通过
OLE实现了排版系统的高度集成化。
“OLE对象”分为两类:一类是“连接式对象”(Linking Object),另一类是“嵌入式对象”(Embedding Object)。“连接式对象”的数据必须与“OLE服务器”程序的一个文件相联系,“连接式对象”的数据与该文件中的数据是一致的,因此,文件中的数据更新时,“连接式对象”的数据也随着更新。
“嵌入式对象”的数据保存在“OLE客户”中,如果要修改该对象,必须在“OLE客户”中调出“OLE服务器”程序,同时把数据送给“OLE服务器”。
飞腾支持OLE标准,属于OLE客户,可以与所有支持OLE20的OLE服务器程序进行数据交换。
漏白预校简介
当文字、图元及图像这几类不同的对象相互邻接、叠合时,有前后次序的差别;位于前面的对象总是覆盖其后的对象,位于前面的对象称之为前景,位于其后的称之为背景。在复杂彩色印刷品的分色印刷过程中,总会存在分色胶片间的对齐误差,而各种对象间的相互邻接、叠合的现象又是大量出现的,这样就会在各种对象间的交接处出现漏白。
漏白预校就是通过预先扩大颜色间的邻接区域以避免印刷时产生漏白。一般说来,当浅色背景与深色前景相邻接时,就增加浅色背景的面积使之在边界上适量侵入深色前景内而保持前景轮廓不变,这种办法称之为收缩;反之,当浅色前景与深色背景相邻接时,就增加浅色前景的面积使之在边界上适量侵入颜色较深的背景内而保持背景轮廓不变,这种办法称之为扩张。收缩(或扩张)的程度就称之为预校值。如果预校值为正,就表明采用扩张的方式来进行预校;否则,就表明是采用收缩的方式来进行预校。为了防止产生漏白,预校值的绝对值应该比印刷机的四色对准精度略大。不能。飞腾d2000处理器大多是ARM架构, 装不了传统的X86win,并且这个CPU处理器用在个人PC上不太合适,也主要用于服务器,安装linux系统。飞腾CPU,是国产飞腾服务器CPU、国产飞腾桌面CPU、国产飞腾嵌入式CPU等系列产品的简称。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)