本文摘要:的指令集到SSE4.1为止,并且反对x86-64指令集。
的指令集到SSE4.1为止,并且反对x86-64指令集。从C4600芯片cpuinfo的信息可以显现出,C4600的设计厂商(vendor_id)还是VIA的Centaur公司,而没改回ZX的标志。美国Centaur公司和Glenn Henry根据维基的资料表明:Centaur(半马人)科技公司,创办于1995年,创建者为Glenn Henry, Terry Parks, Darius Gaskins和Al Sato,其取得的投资来自于IDT公司。其公司的目标是研发相容的x86处理器,目标定位为研发比Intel公司的x86芯片价格更加较低,功耗更加小的芯片。
早期的产品称作WinChip,1999年9月,Centaur被IDT公司出售给VIA公司,其先前的产品为VIA C3和VIA C7,以及VIA Nano。Centaur公司的芯片主要面向嵌入式市场,还包括移动市场,也就是面积更加小、价格更加低廉,功耗更加较低的x86芯片市场。
Centaur的设计理念是对于面向特定市场需求“够用就好”。VIA Nano Isaiah(以赛亚),是Centaur第一款微克量、乱序执行的CPU,第一款64位的CPU,Nano芯片这时更加特别强调性能,而仍然是跟随性能功耗比的等式,但是其保持和C7完全相同的功耗(TDP)。根据Centaur(半马人)公司的网站的讲解,Centaur(半马人)科技公司,坐落于德克萨斯-奥斯丁。主要设计高性能、低功耗的x86相容的微处理器,堪称具备最慢的设计流程,设计周期是竞争对手厂商的三分之一。
该公司没管理者,所有的工程师必要向Centaur公司的创建者和总裁Glenn Henry汇报,Glenn Henry是前DELL公司的CTO和IBM的工程系列的Fellow(20年的Fellow)。1999年8月,Centaur公司被VIA公司并购。
但是这次并购没转变Centaur的文化,也就是Centaur作为VIA公司的子公司独立国家地运营,而会受到VIA的影响。在Cyrix退出后,VIA公司的x86芯片的设计都是来自于Centaur公司,而VIA QuadCore C4650芯片也是出自于Centaur公司的Glenn Henry之手。图4 Glenn Henry这里讲解以下Glenn Henry。
Glenn Henry于1967年重新加入IBM,在IBM腊了21年,兼任首席架构师,是RISC工作站、AIX操作系统和AS/400等创意产品的主要研发管理者,于1985年取得IBM fellow的称号,1988年离开了IBM重新加入DELL公司,为DELL公司负责管理研发的副总和CTO,1994年离开了DELL公司,兼任MIPS公司的咨询顾问,企图把x86和MIPS架构融合在一起,1995年Henry取得了来自IDT公司的投资,创立了Centaur公司,设计低功耗、低成本的x86处理器。揭露以赛亚谜样的面纱正如Intel在研发出有酷睿2后乘势沦落,AMD在研发出有Zen之后再一作出能与Intel相比较的产品,一款CPU最关键的就在于其微结构,那么QuadCore C4650芯片的微结构到底怎么样呢?图5 The VIA Isaiah ArchitectureCentaur公司的灵魂人物和总裁和Glenn Henry编写的一篇文章“The VIA Isaiah Architecture”(图5),文章中分析了为什么使用3升空、乱序执行结构,和Intel的Core较为一起有什么优势,为了降低功耗,使用了什么样的权衡。
文章讲解的十分详尽,有兴趣的网友可以去找原文品读。从图6中可以显现出,以赛亚使用类似于Core架构的设计,7个部件,2个定点I1和I2,2个浮点MA和MB,1个所取数LD,1个存数ST和1个SA地址计算出来。也就是2个定点、2个浮点、2个访存。
归属于中规中矩的设计。图6以赛亚微结构框图Cache的设计为64KB+64KB L1 cache,16路两组串联,2MB的uninclusive的L2 cache。
保有车站的项数为76项(micro-ops,其micro-ops类似于Intel处理器的uops,每条X86指令对应1-3条uops),规模和Intel的Core以及AMD的K10基本非常。其也使用了大量的低功耗技术,例如为了降低功耗,分支预测器的表项只有4K项,取指令时只所取16字节大小等。从文章中讲解和测试数据来看,该处理器结构在2008年而言是十分篮的微架构,顾及了低功耗和有助于性能。从性能上可以输掉当时的按序升空的Intel Atom,但是由于技术团队人数受限,在功耗掌控构建上不是那么极致,所以造成其市场定位高不成低不就。
在高性能上不了和Intel的Core和AMD的K10抗衡,在低功耗上又无法做无风扇设计,不了和Atom以及近年来兴起的ARM比起。造成Nano的芯片主要用作上网本等市场,但是由于出货量较较少,每片的成本比较较高,随着上网本市场的消失,Nano芯片基本也解散了主流市场。Glenn Henry曾在2008年拒绝接受记者Dave Altavilla的专访,在专访中Glenn Henry对低功耗的以赛亚架构处理器的一些说明(“VIAs Glenn Henry Speaks On New Low Power Isaiah Processor,by Dave Altavilla, January, 2008”)。以下为专访链接:图7 Glenn Henry讲解“以赛亚”架构图8 “以赛亚”架构Nano处理器版图ZX-C QuadCore C4600和VIA QuadCore C4650关系密切根据媒体报道:《确实南北市场化,揭露中国兆芯X86处理器》《国货富二代 兆芯X86处理器来了!--雨亭ZX-C C4600处理器体验》《兆芯傅城:国产X86标准化处理器已相似国际水平》这三篇报导却是较为全面的讲解兆芯的X86处理器。
文章中讲解了是兆芯公司打造出了中国X86 CPU,也讲解了兆芯ZX-C四核心处理器,ZX-C处理器是国家“十二五”核高基根本性科技专项创意成果,使用28nm工艺等内容。不过,这些报导中的一些内容经不起对敲打,比如文章中称之为:兆芯ZX-C四核处理器的发售,让国产处理器的性能已完成了从“十二五”初期严重不足国际主流水准10%到目前80%的跨越性提高。只不过,这段话并非媒体言,而是出自于兆芯(VIA Alliance Semiconductor)在“十二五”科技成果展上的宣传资料。
不过,兆芯官方宣传资料中超过国际主流水准的80%是不客观的。但经过实际测试,即便是兆芯ZX-C四核处理器中主频超过2.0G的C4600,与Intel G1840和I5 4460相比较。
从图10可以显现出,就定点而言,I5 4460是ZX-C的3.3倍,G1840是ZX-C的2.4倍。就浮点而言,I5 4460是ZX-C的4.4倍,G1840是ZX-C的2.8倍。在这种情况下,声称ZX-C超过国际主流80%,不存在欺诈宣传不道德。(图10)言归正传,一起再行来探究以下ZX-C处理器和VIA QuadCore C4650的关系。
根据2014年的报导“Report: VIA’s quad-core, 64-bit Isaiah II chip coming this summer -- 07/07/2014 by Brad Linder”。2014年的VIA的2GHz的Isaiah II QuadCore处理器的性能基本和AMD Kabini的Athlon 5350和Intel Atom的Z3770非常,详尽参数闻图11。(图11)以下为链接:根据2015年的一篇文章,“VIA’s New 28nm C4650 QuadCore x86 Processor Spotted – Gaming and General Purpose Benchmarks Surface, Impressive Low-End Performance”。
借此可以推断在最少在2015年,VIA早已有了VIA QuadCore C4650。以下为链接:在2016年,兆芯宣告开始将量产100万套ZX-C四核X86处理器。这里再行讲解下C4600和ZX-C的关系。
根据兆芯官网资料,ZX-C可分成C4200/4210、C4400/4410、C4600/C4610三个类别,之间的差异在于主频,C4600是ZX-C系列处理器的2.0G主频版本,兆芯官方图片闻图12和图13。(图12)(图13)而且之前早已讲解了,从C4600芯片cpuinfo的信息可以显现出,C4600的设计厂商(vendor_id)还是VIA的Centaur公司,而没改回ZX的标志。
兆芯的C4600与VIA公司的QuadCore C4650有十分密切的联系。这种联系不存在两种有可能:第一种有可能是,Centaur公司早已由威盛公司几乎出售给了兆芯公司了,所以必要用于Centaur公司的标志,Centaur公司的技术成果也就顺理成章的沦为国家“十二五”核高基根本性科技专项创意成果。
第二种有可能是,通过VIA的关系,兆芯必要把QuadCore C4650的设计或版图卖过来,或者必要拿过来,新的在台积电流片,然后改头换面变为了国家“十二五”核高基根本性科技专项创意成果。以赛亚和以赛亚2究竟有多少差异根据资料表明:兆芯ZX-A处理器,如C4350AL的微结构是“以赛亚”,而ZX-C系列处理器,比如C4600的微结构是“以赛亚2”。那么,以赛亚和以赛亚2究竟有多少差异呢?下面对VIA Nano X2 C4350AL和兆芯C4600在展开测试。实验中为了尽量较较少有所不同的因素,将C4600和C4350al的频率都降至1.33GHz。
不过,不受条件受限的原因,还是有一些区别的——C4600用于内存为DDR3-1600,C4350al用于的内存为DDR3-1333,C4600编译器选项最低使用SSE4.2,而C4350al编译器选项最低反对到SSE4.1,另外,两个平台的前端总线(FSB)频率也有所不同,C4600为1333MHz,C4350al为1066MHz。(图14)从图14的对比可以显现出,在完全相同主频下,C4600和C4350al的SEPC2006的分值基本非常,也就是两者在完全相同频率下的性能基本相同。充满著主频的影响和编译器的影响,处理器性能的差异在于微结构的差异。由于即便是同一款处理器跑完两次SEPC2006的分值也有有少许上下浮动。
因而可以推断出兆芯的C款处理器C4600和兆芯的A款处理器VIA Nano C4350AL使用了完全相同的微架构,或者说以赛亚和以赛亚2的差异微乎其微,以至于在性能上正处于原地踏步状态。除了前端总线的频率和工艺的差异,各种微结构的参数都没任何变化,也就是说“以赛亚2”和“以赛亚”只不过是同一个东西,或者说改动的地方微乎其微,以至于在性能上正处于原地踏步状态,改动可以忽略不计。必需解释是是实验中,C4600的定点性能比C4350al额低一些,主要原因是C4600的前端总线的频率提升了,C4600浮点性能反而有所上升,主要原因是由于其使用的SSE4.2指令集没硬件的逻辑构建,并且DDR3-1600比特率的提高反而填补没法延后的稍微减少,以至于浮点性能上升。
兆芯C4600和VIA以赛亚的短板Centaur公司设计的以赛亚在当时是扎根差异化竞争的产物,以赛亚也是一个轻量级的架子,虽然在2009年的时候这个设计还是挺不错的。但随着技术的变革,以赛亚在今天就有点不够看了,面临ARM Cortex A57/A72/A73就无法招架了。下面非常简单讲解一下兆芯C4600和VIA以赛亚的短板:短板一:没对近期的指令系统在微结构和硬件上展开改动根据VIA官方资料,VIA Nano只反对到SSE4.1指令集系统,至于原因只要追溯Intel指令集系统的发展历史就清楚了:MMX(1996), SSE(1999), SSE2(2001), SSE3(2004),SSSE3(2006), SSE4.1(2006)SSE4.2(2007), AES, AVX(2011), F16C(2009), ACE, PCLMUL(2010), VMX, BMI1, BMI2, AVX2(2013)。正是因为历史原因以及Intel对外的X86许可因素,当时的VIA公司没获得Intel近期指令集系统的许可,所以2009年的Nano处理器最低反对到SSE4.1。
相比之下,VIA QuadCore C4650和兆芯C4600处理器反对先前的SSE4.2和近期的AVX和AVX2等指令集系统。对于VIA QuadCore C4650和兆芯C4600反对近期的AVX和AVX2等指令集系统,有可能的原因是VIA早已购买了Intel公司近期指令集系统的许可。
不过VIA如何将指令集许可出让给兆芯,这个问题无论是Intel,还是VIA、兆芯都没任何公开发表声明。诚然,这个不是本文注目的重点。
本文注目的是缘何减少了AVX和AVX2等指令集系统C4600的性能反而上升了。Intel和AMD的CPU在用于了近期的256位的AVX/AVX2向量指令集后,性能有所提高——Intel和AMD处理器使用向量指令(128位和256位),INT2006的性能平均值可以提升5%,FP2006的性能平均值可以提升16-18%。
而从128位的SSE,减少到256位的AVX/AVX2指令,INT2006的性能可以提升2-3%,FP2006的性能可以提升6-8%。必需解释的是,使用向量指令提升性能的前提是处理器的访存通路能供应上充足长的数据,如Haswell为了反对256位的AVX/AVX,使用了3个访存的端口,同时反对2个256位的load操作者和1个256位的store操作者。与Intel和AMD的CPU忽略,C4600处理器相容了Intel近期的256位向量指令AVX/AVX2等(不反对乘加FMA指令)。在编译器时关上了AVX2, AVX, bmi等近期指令集编译器选项,但编译器出来的程序测算性能反而上升。
明确成绩为图15。(图15)从图15中可以显现出,使用近期的指令集系统,对于大部分CPU2006的程序,其性能反而上升了。对于INT2006,几何平均的性能上升了1.76%,如401.bzip2上升了5.01%,456.hmmer上升了3.74%,462.libquantum上升了13.04%;对于FP2006,几何平均的性能上升了4.82%。
416.games上升了7.52%,433.milc上升了8.93%,435.gromacs上升了8.12%,454.calculix上升了11.18%,454.calculix上升了14.06%,459.GemsFDTD上升了6.98%,482.sphinx3上升了16.41%。而这些程序正好是更容易被向分析的程序,其使用了256位的AVX指令。例如459.GemsFDTD中256位的Packed Double动态指令数占16.53%。
为什么使用新型的指令集系统,SPEC CPU2006程序性能反而有所上升呢?很有可能是兆芯C4600处理器保有了Centaur公司的完整设计,没对近期的指令系统在微结构和硬件上展开改动,也就是在微结构上除了指令译码部分,在数据通路和访存通路上没变化。而这也出庭作证了之前提及的:以赛亚2和以赛亚只不过是同一个东西,或者说改动的地方微乎其微。
首先来看处理器在指令译码部分怎么反对近期的指令集系统,在当前的CISC指令集系统的构建都是将外部CISC指令翻译成为内部的类RISC,即uops,一般来说一条CISC指令可以在内部被翻译成为1-3条内部的uops指令。uops指令在“以赛亚”被称作micro-ops,闻VIA Isaiah Architectural文章中“microcode subsystem”,“以赛亚”架构中的微码子系统(microcode subsystem)还包括24K微指令再加一个强劲的打补丁(patch)的功能,使得微码能被改版,每个ROM中的微码指令被翻译成为最少3条融合的微操作(fused micro-ops)。可以显现出“以赛亚”架构依然在延用X86处理器早期的部分简单X86指令微码构建的方式,如果要反对新的如AVX的指令,就可以通过改版微码的方式来构建,再行通过微码指令切换为内部的微操作指令构建。
第二,256位寄存器的构建,既然要反对AVX指令,必须构建256位的体系结构可见的寄存器和256位的重命名物理寄存器,我们猜测其内部构建为仅有构建了体系结构可见的寄存器,而没构建256位的重命名物理寄存器,这会减少过于多的支出。在数据通路和访存通路的构建上,在内部很有可能是将256位的向量指令拆卸分成多条128位的类SSE指令构建的,这种方法在第一代AMD的推土机构建256位的AVX指令和第一代的K8构建128位的SSE指令也是这么做到的,通过内部合并在数据通路上反对新的指令集系统,但是这样做到的结果是,新的指令系统对性能不但没益处,反而不会有性能的上升,因为数据通路和访存通路显然就没构建更加长的设计,就只不过本身较宽的马路,可以通过2个车道,这时候同时来4辆车,这4辆车就得排列成两排,顺序通过。另外,更加长的向量操作者造成其架构的访存和供数能力跟上,这也造成了新的指令集有时性能上升的原因。
短板二:前端总线设计和比特率容许兆芯C4600芯片的众多瓶颈是Centaur公司沿袭了其前端总线(VIA V4 bus)的设计,而且没将内存控制器构建到处理器上。前端总线(front-side bus,FSB)是早期Intel芯片的计算机通信的模块,和AMD公司的EV6类似于,其相连CPU和北桥芯片,内存控制器一般来说构建在北桥中。
PCI,AGP等各种设备以及内存都是通过北桥和CPU展开通讯。前端总线经常出现在1995-2006,用作Intel的Atom,Celeron,Pentium,Core2芯片以及早期的Xeon芯片,其迅速被现代处理器中AMD的HT(HyperTransport)和Intel的QPI(QuickPath Interconnect)以及DMI(Direct Media Interface)所代替。前端总线为64位,8个字节,每拍能传输4次。
前端总线的速度是当时计算机系统一个最重要的取决于指标,当前,前端总线最低的频率为333~400MHz,每个周期能展开4次传输。由于设计的缺失,前端总线的频率不了获得更进一步提高。
假设前端总线的实际频率为333MHz,也就是一般来说厂家说道的1333MHz,其峰值理论比特率为10.65GB/s,即8 bytes/transfer × 333 MHz × 4 transfers/cycle = 10656MB/s。前端总线的设计,使得CPU必须等候来自内存中的数据,对于每个元素必须的大量简单计算出来的应用于,这样的应用于访存不是那么的密集,前端总线能跟上CPU的速度。而对于图像、音频、视频、游戏、FPGA综合以及科学应用等应用于,一般来说是对于大工作集的少部分数据展开操作者,这样前端总线就沦为一个主要的性能瓶颈。
图16较为了2.0GHz的兆芯C4600、1.5GHz的龙芯3A3000、1.5GHz的AMD K10三款处理器访存比特率测试程序STREAM的比特率分值,借此可以显现出,单线程STREAM的测试,C4600的STREAM比特率基本为4-5GB/s,而3A3000为8+GB/s,K10为6-7GB/s。多线程STREAM的测试,C4600的STREAM比特率基本为3+GB/s,而3A3000为12-13GB/s,K10位6+GB/s。(图16)国际主流CPU都在十年前把内存控制器构建在CPU芯片中,而兆芯C4600之后把内存控制器构建在桥片上,访存比特率受限于前端总线。VIA 以赛亚系列处理器从2009年开始仍然使用VIA V4 BUS的前端总线设计,而没将内存控制器构建到芯片上,即使是2014年对Nano X2的更新也不不愿去一动其结构和设计。
只是从40nm工艺提升到28nm TSMC的工艺,同时把V4总线的频率从800MHZ提升到1333MHz,也就是其前端总线的理论比特率为10.6GB/s。所以其内存比特率不低原因也就可以说明。
另外,多线程的情况下,多个CPU核以及I/O等不会竞争前端总线,前端总线和内存控制器的预期机制截然不同,导致访存序的失调。所以在多个线程特别是在是访存压力相当大的情况下,其性能不会急剧下降。这也是C4600多线程比特率反而不如单线程比特率的原因。
对于C4600,1-2个核基本上就不吃剩了访存比特率,对于龙芯3A3000而言,访存比特率不具备明显的优势,其能符合4-8个处理器核的市场需求。所以,在单线程性能差距并不大的情形下,龙芯3A3000的SPEC CPU2006多线程rate的性能,显著多达了C4600的rate性能。明确参数闻图17(图17)结语虽然在一系列兆芯官方宣传和中文宣传资料上,兆芯仍然宣传自律安全性高效率(闻图18),在其官方网站上也标明自律高效率(闻图19)。但与兆芯涉及的英文材料却标明:Based on Centaur Technologie’s microarchitecture designs (闻图20)。
(图18)(图19)(图20)在微结构源于Centaur公司,指令集许可也模糊不清的情况下,就宣告兆芯自律安全性高效率,难免有点超之过缓——即便是回头技术引进道路,也要在凭借自己的能力已完成消化吸收再行创意之后,才能算是自律高效率安全性。比如在充份消化Centaur公司设计的以赛亚之后,凭借境内设计团队设计出有可以媲美Intel SNB或者AMD Zen的产品,这才知道算是再行创意。拿Centaur公司设计的以赛亚,升格程堆核心数提高总线频率作出一款CPU就宣传自律高效率,无非是自欺欺人而已。
至于拿Centaur公司早年的设计,改头换面就沦为国家“十二五”核高基根本性科技专项创意成果,并需要荣获“第18届中国国际工业博览会金奖”(闻图21)、“2017年度大中华IC设计成就奖”(闻图22)、“第十一届(2016年度)中国半导体创意产品和技术奖”(闻图23),也不该国外资深IC设计工程师不会对中国的IC设计水平嗤之以鼻了。(图21)(图22)(图23)特约稿件,予以许可禁令刊登。下文闻刊登须知。
本文来源:博鱼官网-www.deceleratedenergy.com
我要加盟(留言后专人第一时间快速对接)
已有 1826 企业通过我们找到了合作项目