本篇文章7462字,读完约19分钟
雷锋。作者铁流和雷锋。(公开号码:雷锋。com)开始了这篇文章。
在第18届中国国际工业博览会上,上海赵信公司zx-c处理器荣获金奖。2017年3月,先后荣获“2017年大中华区集成电路设计成就奖”(见图22)和“第十一届(2016)中国半导体创新产品与技术奖”。据赵信在全国“十二五”科技创新成果展上的宣传资料显示,“R&D自主研发和批量生产赵信国产x86通用处理器的成功,使国产处理器的性能实现了跨越式的提高,从“十二五”之初不到国际整体水平的10%,提高到目前的80%。”
众所周知,英特尔对x86的许可有非常严格的限制,那么上海赵信的x86芯片技术从何而来呢?zx-c目前的短板在哪里?就性能而言,它离英特尔有多远?
Megachip c4600cpuinfo的信息表明,设计制造商是美国的centaur,而Isaiah的微结构是通过在linux系统中命令cat /proc/cpuinfo来读出芯片的一些信息和特性。它的命令类似于windows系统中cpu-z软件获得的信息。芯片cpuinfo的信息由cpuid指令读取。例如,当eax=1时,处理器的信息和特征位被读出(参见en.wikipedia/wiki/cpuid对cpuid指令的使用)。
从图1中的大芯片c4600的cpuinfo信息可以看出,该芯片的制造商(供应商_id)是centaur,即centaur公司。其中cpu系列代表那一代芯片,而系列6代表纳米系列通孔。模型代表模型,即采用哪种微观结构,而15代表以赛亚。型号名称是处理器的型号,图片显示的是c-quadcore c4600@2.0ghz..所述c4600是4核芯片,主频率为2ghz。
图1巨核c4600芯片的cpuinfo信息
图2 VIA纳米u3500芯片cpuinfo信息
图2显示了VIA的nano u3500芯片的cpuinfo信息,其型号名称为via nano u3500@1000mhz。比较厂商id的信息,我们可以看到它们都是通过centaur公司,比较cpu家族和型号的信息,我们也可以看到它们都是家族6和型号15,也就是说,它们都是“以赛亚”架构。
图3 VIA纳米u3500芯片信息
从图3可以看出,u3500芯片属于via纳米系列。微观结构就是以赛亚书。支持的指令集最高可达sse4.1,并且支持x86-64指令集。
从c4600芯片的cpuinfo信息中可以看出,c4600的设计制造商(供应商_id)是via的centaur公司,并未变更为zx。
根据维基百科的数据,美国的centaur公司和glenn henry显示,centaur技术公司是由Glenn Henry、泰瑞·帕克斯、Darius Gaskins和al sato于1995年创建的,其投资来自idt公司。其公司的目标是开发兼容的x86处理器,其目标是开发比英特尔x86芯片价格更低、功耗更低的芯片。早期的产品叫做winchip。1999年9月,centaur被idt出售给via,其后续产品是via c3、via c7和via nano。Centaur的芯片主要面向嵌入式市场,包括移动市场,这是一个面积更小、价格更便宜、功耗更低的x86芯片市场。对于特定的市场需求,Centaur的设计理念是“适可而止”。via nano Isaiah(Isiah)是centaur第一个采用超标量和乱序执行的cpu,也是第一个64位cpu。此时,纳米芯片更加注重性能,而不是遵循性能功率比的等式,但它保持与c7相同的功耗(tdp)。
根据centaur的网站,centaur技术公司位于德克萨斯州的奥斯汀。它主要设计高性能、低功耗的x86兼容微处理器,号称设计流程最快,设计周期是竞争对手的三分之一。这家公司没有经理,所有的工程师都直接向centaur公司的创始人和总裁glenn henry汇报,Glenn Henry是戴尔公司的前首席技术官和ibm工程系列的研究员(研究员已有20年)。1999年8月,中原公司被via公司收购。然而,这次收购并没有改变半人马座的文化,也就是说,半人马座作为via的子公司独立运营,不会受到via的影响。随着cyrix的解散,via公司的x86芯片的设计来自centaur公司,via quadcore c4650的芯片来自centaur公司的glenn henry。
图4格伦·亨利
这是格伦·亨利。格伦·亨利(Glenn henry)于1967年加入ibm,在ibm工作了21年,担任首席架构师,是risc工作站、aix操作系统和as/400等创新产品的主要R&D经理。他于1985年获得ibm研究员的头衔,并于1988年离开ibm加入戴尔公司,担任戴尔公司的R&D副总裁兼首席技术官。1994年,他离开戴尔,成为mips的顾问,试图将x86和mips架构结合起来。1995年,亨利得到了idt的投资,成立了centaur,设计了低功耗、低成本的x86处理器。
揭开以赛亚书的神秘面纱正当英特尔在开发Core 2后翻身之际,amd在开发zen后终于制造出了一款与英特尔相当的产品。中央处理器的关键在于它的微观结构。四核c4650芯片的微结构如何?
图via isaiah架构
由centaur和glenn henry的灵魂和总裁撰写的文章“via isaiah architecture”(图5)分析了为什么采用3次发布和无序执行的架构,它与英特尔的内核相比有哪些优势,以及采用了哪些折衷方案来降低功耗。文章非常详细,感兴趣的网友可以阅读原文。
从图6可以看出,以赛亚采用类似于核心架构的设计,具有7个组件、2个定点i1和i2、2个浮点ma和mb、1个提取ld、1个存储器st和1个s a地址。即2个定点、2个浮点和2次内存访问。它属于行为良好的设计。
图6以赛亚显微结构框图
高速缓存的设计是64kb+64kb l1高速缓存,连接16路集,2mb非独占l2高速缓存。保留站的数量为76(微操作类似于英特尔处理器的微操作,每个x86指令对应1-3微操作),基本相当于英特尔酷睿和amd k10。它还使用了大量低功耗技术,例如,为了降低功耗,分支预测器只有4k个条目,取指令时只需要16个字节。
根据本文的介绍和测试数据,该处理器架构是2008年非常好的微架构,兼顾了低功耗和适中的性能。就性能而言,它可以击败当时相继推出的英特尔凌动。但是,由于技术团队数量有限,功耗控制的实现并不完善,导致其市场定位偏高。它在高性能方面无法与英特尔的酷睿和amd的k10竞争,在低功耗方面无法实现无风扇设计,也无法与近年来的凌动和瑞星相提并论。因此,纳米芯片主要用于上网本和其他市场。然而,由于出货量小,每个芯片的成本相对较高。随着上网本市场的消亡,纳米芯片已经基本退出了主流市场。
格伦·亨利在2008年接受了戴夫·阿尔塔维拉的采访。在采访中,格伦·亨利解释了一些低功耗以赛亚体系结构处理器(“通过s·格伦·亨利在新的低功耗以赛亚处理器上讲话,戴夫·阿尔塔维拉,2008年1月”)。以下是采访链接:
图7格伦·亨利介绍“以赛亚”建筑
图8基于以赛亚体系结构的纳米处理器布局
据媒体报道,zx-c四核c4600和via四核c4650密切相关:
“真正走向市场,揭开中国的巨核x86处理器”
“中国的新贵兆核x86处理器即将上市!-开启zx-c c4600处理器体验。”
“赵信福成:国产x86通用处理器接近国际水平”
这三份报告全面介绍了兆核x86处理器。摘要:介绍了中国x86 cpu由赵信公司制造,并介绍了国家“十二五”核高基地重大科技创新成果赵信zx-c四核处理器,采用28纳米工艺等内容。
然而,这些报道中的一些内容经不起推敲。例如,文章说:Megacore zx-c四核处理器的推出,使国内处理器的性能得到了突飞猛进的提高,从“十二五”之初不到国际主流水平的10%提高到目前的80%。
事实上,这段话不是媒体的谣言,而是来自via alliance半导体在“十二五”科技成果展上的宣传材料。然而,80%的赵信官方宣传材料达到国际主流标准是不客观的。
然而,经过实际测试,即使是在Megacore zx-c四核处理器中主频为2.0g的c4600,也与英特尔g1840和i5460进行了比较。从图10可以看出,就定点而言,i5460是zx-c的3.3倍,而g1840是zx-c的2.4倍..就浮点而言,i5460是zx-c的4.4倍,g1840是zx-c的2.8倍。在这种情况下,有人声称zx-c已经达到国际主流的80%,并有虚假宣传。
(图10)
言归正传,让我们首先探索zx-c处理器和via四核c4650之间的关系。
根据2014年的报告,“报告:via的四核,64位以赛亚ii芯片将于今年夏天-07/07/2014由布拉德林德。”2014年,via的2ghz isaiah ii四核处理器的性能基本相当于amd的athlon 5350和英特尔的z3770。详细参数见图11。
(图11)
以下是链接:
根据2015年的一篇文章,“via新推出的28纳米c4650四核x86处理器——游戏和通用基准测试浮出水面,低端性能令人印象深刻。”可以推测,至少在2015年,via已经拥有via四核c4650。以下是链接:
2016年,兆核宣布将开始大规模生产100万个zx-c四核x86处理器。本文介绍了c4600与zx-c的关系。根据megacore官方网站的数据,zx-c可分为三类:c4200/4210、c4400/4410和c4600/c4610。区别在于主频。c4600是zx-c系列处理器的2.0g主频版本。megacore的官方截图见图12和图13。
(图12)
(图13)
此外,它之前已经被引入。从c4600芯片的cpuinfo信息可以看出,c4600的设计制造商(vendor_id)仍然是via的centaur公司,并未变更为zx。
Megacore的c4600与via的四核c4650密切相关。这种连接有两种可能性:
第一种可能是中原公司已经被维亚公司完全卖给了赵信公司。因此,如果直接使用中原公司的标志,中原公司的科技成果自然会成为国家“十二五”重大科技创新成果。
第二种可能性是,通过via的关系,Megacore直接购买了四核c4650的设计或布局,或者直接带来,在TSMC重新生产,然后转化为国家“十二五”重大科技创新成果。
根据数据,以赛亚书和以赛亚书2有很多不同之处。Meagcore zx-a处理器(如c4350al)的微结构为Isiah,而zx-c系列处理器(如c4600)的微结构为Isaiah 2。以赛亚书和以赛亚书2有多少不同?
以下测试在via nano x2 c4350al和megacore c4600上进行。在实验中,为了使不同的因素最小化,将c4600和c4350al的频率降低到1.33ghz..但是,由于条件有限,仍然存在一些差异-c 4600使用的内存是ddr3-1600,c4350al使用的内存是ddr3-1333。c4600的编译选项最高使用sse4.2,而c4350al的编译选项最高支持sse4.1。此外,两个平台的fsb频率也不同,C4660
(图14)
从图14的比较可以看出,在相同的主频率下,c4600和c4350al的sepc2006的得分基本相同,即在相同的频率下,它们的性能基本相同。不管主频和编译器的影响,处理器性能的差异在于微观结构的不同。
即使同一个处理器运行两次,sepc2006的分数也会有一点波动。因此,可以推断,巨核的c处理器c4600和经由巨核的纳米c4350al的a处理器采用相同的微体系结构,或者以赛亚书和以赛亚书2之间的差异很小,性能处于停滞状态。
除了前端总线在频率和技术上的差异外,各种微观结构的参数根本没有变化,也就是说,“以赛亚书2”和“以赛亚书”实际上是一回事,或者说几乎没有修改,所以性能处于停滞状态,修改可以忽略不计。
必须说明的是,在实验中,c4600的定点性能略高于c4350al。主要原因是c4600前端总线的频率增加,但c4600的浮点性能略有下降。主要原因是C4600采用的sse4.2指令集没有硬件逻辑实现,ddr3-1600带宽的增加无法弥补延迟的轻微增加,导致浮点性能下降。
以赛亚由Megacore c4600设计,通过以赛亚的短板半人马座公司,是当时差异化竞争的产物,以赛亚也是一个轻量级的架子,尽管这个设计在2009年相当不错。然而,随着科技的发展,今天的以赛亚书已经不够看了,很难对付手臂皮层a57/a72/a73。以下是对Megacore c4600和以赛亚书的缺点的简要介绍:
短板1:在微观结构和硬件方面,最新的指令系统没有改变。根据官方via数据,via nano仅支持sse4.1指令集系统。因此,只需追溯英特尔指令集系统的发展历史:MMX (1996)、上交所(1999)、上交所2 (2001)、上交所3(2006)、上交所4.1(2006)、上交所4.2(2007)、aes、avx(2011)、f16c(2009)、ace、pclmul(2010)、vmx、bmi1、bmi2、avx2(2013)。
由于历史原因和英特尔的外部x86许可因素,via公司当时没有获得英特尔最新指令集系统的许可,所以2009年的纳米处理器最高支持sse4.1。
相比之下,通过四核c4650和兆核c4600处理器支持后续的sse4.2和最新的指令集系统,如avx和avx2。
via四核c4650和megacore c4600支持最新指令集系统(如avx和avx2)的原因可能是via已从英特尔公司获得最新指令集系统的许可。但是,无论via如何将指令集许可转让给Meagcore,英特尔、via或Meagcore都有任何公开声明。
诚然,这不是本文的重点。本文主要讨论c4600(一种指令集系统,如avx和avx2)的性能为何反而下降。
英特尔和amd处理器在使用最新的256位avx/avx2矢量指令集后,性能有所提高。英特尔和amd处理器使用矢量指令(128位和256位),int2006的性能平均可提高5%,fp2006的性能平均可提高16-18%。从128位sse到256位avx/avx2指令,int2006和fp2006的性能分别提高了2-3%和6-8%。
必须注意,使用矢量指令来提高性能的前提是处理器的内存访问通道能够提供足够宽的数据。例如,haswell使用三个内存访问端口来支持256位avx/avx,并支持两个256位加载操作和一个256位存储操作。
与英特尔和amd cpu相反,c4600处理器与英特尔最新的256位矢量指令avx/avx2兼容(不支持乘法和加法fma指令)。编译时,最新的指令集编译选项(如AVX2、AVX和BMI)已打开,但已编译程序的测量性能下降。具体成果如图15所示。
(图15)
从图15可以看出,使用最新的指令集系统,cpu2006的大多数程序的性能反而降低。2006年,几何平均性能下降了1.76%,如401.bzip2下降了5.01%,456.hmmer下降了3.74%,462.libquantum下降了13.04%。对于fp2006,几何平均性能下降了4.82%。416 .游戏减少了7.52%,433.milc减少了8.93%,435.gromacs减少了8.12%,454.calculix减少了11.18%,454.calculix减少了14.06%,459.gemsfdtd减少了6.98%,482这些程序只是易于矢量化,它们使用256位avx指令。例如,459.gemsfdtd中256位打包双动态指令的数量占16.53%。
为什么spec cpu2006程序的性能会随着新的指令集系统而下降?很有可能Megacore c4600处理器保留了centaur公司的原始设计,并没有改变最新的微结构和硬件指令系统,也就是说,除了微结构中的指令解码部分外,数据路径和内存访问路径都没有改变。这也证明了《以赛亚书2》和《以赛亚书》实际上是一回事,或者说几乎没有什么修改。
首先,让我们看看处理器如何在指令解码部分支持最新的指令集系统。目前,cisc指令集系统的实现是将外部cisc指令翻译成内部risc类微指令。通常,cisc指令可以内部翻译成1-3个内部UOP指令。在Isiah中,Uops指令被称为微操作,参见via isaiah体系结构文章中的“微码子系统”,Isiah体系结构中的微码子系统包括24k微指令和一个强大的补丁功能,因此微码可以被更新,并且每个rom中的微码指令被翻译成多达三个融合微操作。可以看出,“Isiah”体系结构仍然遵循在x86处理器的早期阶段实现一些复杂的x86指令微码的方式。如果要支持新指令,如avx,可以通过更新微码来实现,然后转换成内部微操作指令。
其次,由于256位寄存器的实现需要实现256位架构可见寄存器和256位重命名的物理寄存器来支持avx指令,我们猜测其内部实现只实现架构可见寄存器,而不实现256位重命名的物理寄存器,这不会增加太多开销。在数据路径和存储器访问路径的实现中,有可能将256位向量指令分割成多个内部128位的类似sse的指令。这种方法同样适用于第一代amd推土机实现256位avx指令和第一代k8实现128位sse指令,并通过内部拆分支持数据路径上的新指令集系统,但其结果是,新的命令系统不仅性能不好,而且会有性能下降,因为数据路径和内存访问路径根本没有设计得更宽,就像一条狭窄的道路可以通过两条车道一样。此时,四辆车将同时到来,这四辆车必须排成两排并按顺序通过。此外,更广泛的向量运算会导致架构的内存访问和数据供应能力落后,这有时也会导致新指令集的性能下降。
短板2:前端总线设计和带宽限制Megachip c4600的瓶颈之一是centaur继续其前端总线设计(通过v4总线),并且没有将存储器控制器集成到处理器中。
前端总线(fsb)是早期英特尔芯片的计算机通信接口,类似于amd的ev6,连接cpu和北桥芯片,内存控制器通常集成在北桥中。Pci、agp等设备和内存通过北桥与cpu通信。
前端总线出现于1995-2006年,用于英特尔的凌动、赛扬、奔腾、酷睿2芯片和早期的至强芯片。它很快被amd的ht(超传输)、英特尔的qpi(快速通道互连)和dmi(直接媒体接口)所取代。
前端总线为64位8字节,每拍可传输4次。前端总线的速度是当时计算机系统的一个重要指标。目前,前端总线的最高频率为333~400mhz,每周期可传输4次。由于设计缺陷,前端总线的频率无法进一步提高。假设前端总线的实际频率为333mhz,即1333mhz,其峰值理论带宽为10.65gb/s,即8字节/传输×333 MHz×4传输/周期= 10656mb/S..
由于前端总线的设计,cpu需要等待来自内存的数据。对于每个元素所需的大量复杂计算应用程序,这些应用程序的内存访问并不那么密集,前端总线可以跟上cpu的速度。然而,对于图像、音频、视频、游戏、fpga合成和科学应用等应用,操作通常是在具有大工作集的一小部分数据上执行的,因此前端总线成为主要的性能瓶颈。
图16比较了三个处理器访问带宽测试程序的带宽得分,即2.0千兆赫兆核c4600、1.5千兆赫龙芯3a3000和1.5千兆赫amd k10。由此可见,c4600的带宽基本为4-5gb/s,而3a3000的带宽为8+gb/s,k10的带宽为6-7 GB/s。根据多线程流的测试,c4600的流带宽基本为3+gb/s,而3a3000的带宽为12-13gb/s,k10位为6+gb/s..
(图16)
十年前,世界主流cpu将内存控制器集成到cpu芯片中,而Megacore c4600继续将内存控制器集成在桥接芯片上,内存访问带宽受到前端总线的限制。自2009年以来,via Isaiah系列处理器采用了via v4总线的前端总线设计,而没有将存储控制器集成到芯片中。即使是2014年对nano x2的修订也不愿意改变其结构和设计。仅从40纳米技术到28纳米台积电技术,v4总线的频率从800兆赫兹增加到1333兆赫兹,即其前端总线的理论带宽为10.6千兆字节/秒,因此,存储器带宽不高的原因可以解释。
此外,在多线程的情况下,多个cpu内核和i/o将争夺前端总线,而前端总线和内存控制器的预期机制完全不同,导致内存访问顺序混乱。因此,当多线程,尤其是内存访问面临巨大压力时,它们的性能会急剧下降。这就是c4600多线程的带宽不如单线程的原因。
对于c4600,1-2个内核基本上占用了内存访问带宽。对于龙芯3a3000,内存访问带宽优势明显,可以满足4-8个处理器内核的需求。因此,在单线程性能差异不大的情况下,龙芯3a 3000 spec CPU 2006的多线程性能明显超过c4600。具体参数见图17
(图17)
结论尽管在Megacore的一系列官方宣传材料和中文宣传材料中,Megacore一直在倡导自主性、安全性和可控性(见图18),并在其官方网站上标注了自主性和可控性(见图19)。然而,与Megacore相关的英文资料被标记为:基于Centaur Technologie的微建筑设计(见图20)。
(图18)
(图19)
(图20)
在微观结构来源于centaur公司、指令集授权模糊的情况下,宣布Megacore是自主、安全、可控的有点过于草率——即使走技术引进之路,也只有经过自身能力的消化、吸收和创新,才能称得上自主、可控、安全。例如,在充分消化了由centaur设计的Isaiah之后,国内设计团队可以设计出可以与英特尔snb或amd zen竞争的产品,这真的可以称为再创新。以centaur公司设计的Isaiah为例,改造工艺反应器的核心数,增加总线频率,制成cpu,提高了自主性和可控性。这只不过是自欺欺人。
中原公司早期设计已成为国家“十二五”重大科技创新成果,可获得“第18届中国国际工业博览会金奖”(见图21)、“2017年大中华区集成电路设计成果奖”(见图22)、“第11届(2016)中国半导体创新产品与技术奖”(见图23)
(图21)
(图22)
(图23)
雷锋的特别贡献。严禁擅自转载。详情请参考转载说明。
来源:搜狐微门户
标题:深度揭秘:中国 X86 CPU 技术源自何方
地址:http://www.shwmhw.com/shxw/61447.html