集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1387|回复: 0

MIPS系——龙芯和君正

[复制链接]
fpga_feixiang 发表于 2019-10-9 15:13:21 | 显示全部楼层 |阅读模式
新兴的RISC-V架构在全球范围内已经掀起了一场热潮,在国内也引起了广泛的关注,但是由于没有很好的中文普及书籍,很多人对于RISC-V仍然是“只闻其声,未见其形”。作者作为国内第一批接触RISC-V架构,并最早研发成功RISC-V处理器的技术专家,在工作之余将其自研的处理器核开源,并著书详细解读其实现细节,体现了作者极高的专业水准和推进国产CPU产业发展的强烈情怀。

1.龙芯

龙芯CPU由中国科学院计算技术所龙芯课题组研制,由中国科学院计算技术所授权的北京神州龙芯集成电路设计公司研发。以下是龙芯CPU芯片的相关简介。

 龙芯1号的频率为266MHz,最早在2002年开始使用,如图1-3所示。
龙芯2号的频率最高为1GHz。
 龙芯3A系列是国产商用4核处理器。最新龙芯3A3000基于中芯28nm FDSOI工艺,设计为4核64位,主频为1.5GHz,功耗仅为30W,非常适合笔记本平台。
 龙芯3B系列是国产商用8核处理器,主频超过1GHz,支持向量运算加速,峰值计算能力达到128GFLOPS,具有很高的性能功耗比。龙芯3B系列主要用于高性能计算机、高性能服务器、数字信号处理等领域。


2.君正

国内的MIPS系还有另外一家公司——北京君正。君正和龙芯同属于MIPS阵营,与龙芯着力于桌面PC处理器不同,北京君正是国内较早专注于可穿戴、物联网领域的本土IC设计公司之一。由于嵌入式芯片的软件一般按需求定制。这导致在智能可穿戴市场,相当一部分可穿戴产品和应用软件具有专用性,软件生态链相对较短,加上应用需求的多样化,因此不能用一套通用方案来满足所有人的要求,所以在这个领域没有某个厂商可以实现垄断。因此,在智能穿戴市场不容易出现PC和移动手机市场那样被x86与ARM架构垄断的情况。

智能穿戴芯片和物联网芯片对性能要求不高,大部分应用场景更关注低功耗、廉价和尺寸等因素,君正的产品完全满足性能要求,x86处理器不可能应用于该领域,ARM阵营IC设计公司受制于相对较高的授权费,在芯片产量较小的情况下,并不具备价格上的竞争力。君正拥有十多年的芯片设计经验和技术积累,其最大的特点就是具有较高的性能功耗比。国内第一批上市的智能手表包括果壳的第一代智能手表、土曼一代、土曼二代智能手表等都采用了君正的方案。

x86系——北大众志、兆芯和海光

1.北大众志

北京北大众志微系统科技有限责任公司成立于2002年11月,是国家集成电路设计行业的重要骨干企业。2005年,AMD与中国政府达成了协议,科技部指定北大微电子中心接收AMD Geode-2处理器的技术授权,AMD的处理器无疑是x86架构,中国因此获得了x86技术。不过Geode处理器属于AMD嵌入式处理器,因此AMD授权给北大的x86技术属于嵌入式架构。

2.兆芯

另外一家使用x86架构的国内企业——兆芯,也许被更多的人所熟知。众所周知,核心的x86架构是 Intel和AMD公司的核心技术,美国政府也会严格控制其技术的授权。不过,除了Intel和AMD,另外一家中国台湾公司威盛(VIA)也曾经拥有x86架构授权。据称,如图1-8所示,兆芯自主研发的ZX-C处理器于2015年4月量产,28nm工艺,4核处理器,主频可达2.0GHz,并且支持国密算法加密。2017年兆芯宣布其最新一代ZX-D系列4核和8核通用处理器已经成功流片,并透露将在2018年推出16nm的ZX-E 8核CPU。

3.海光

除了上海兆芯,还有一家诞生不久的新锐公司——天津海光。2016年,AMD宣布与中国天津海光投资公司达成了协议,将x86技术授权给海光公司,获得授权费,并且双方还会成立合资公司,授权其生产服务器处理器。据称,为了打开中国高性能服务器市场,AMD这次授权给中国公司的x86很可能是最尖端的x86技术。对于海光的表现,也值得我们拭目以待。

Power系——中晟宏芯

蓝色巨人IBM的Power架构一直是高性能的代言。IBM于2013年联合NVIDIA等公司成立OpenPower开放联盟,其他公司也可以获得Power架构授权。此后还推动成立了中国POWER技术产业生态联盟,与多家中国公司签署了授权协议,中晟宏芯就是其中的一家。中晟宏芯成立于2013年,相信宏芯能用若干年的时间实现技术的消化吸收和推陈出新。

Alpha系——申威

申威处理器或申威CPU,简称“SW处理器”。

申威对自主的Alpha架构在不断深化升级,在双核Alpha基础上拓展了多核架构和SIMD等特色扩展指令集,主要面向高性能计算、服务器领域,在2016年国际超算大会评比中,基于申威26010处理器的“神威太湖之光”超级计算机系统(如图1-9所示)首次亮相并夺冠,其峰值性能达每秒12.5×108亿次浮点运算,成为世界首台运行速度超109亿次的超级计算机。

ARM系——飞腾、华为海思、展讯和华芯通

为了更好地理解本节的内容,有必要先对ARM的授权模式进行介绍。简而言之,ARM公司的主要授权模式可以分为两种。

 授权“ARM处理器IP”给其他的芯片生产商(合作伙伴),后者直接使用ARM处理器IP设计SoC芯片。
授权“ARM架构”给其他的芯片生产商(合作伙伴),后者基于ARM架构自研其处理器核,然后使用自研处理器核设计SoC芯片。
1.飞腾

飞腾公司是中国国防科技大学高性能处理器研究团队建立的企业,国防科大多年来在CPU领域的耕耘积累了雄厚的技术实力。2016年天津飞腾公布了最新产品FT2000,它最早亮相于2015年的HotChips大会,代号“火星”,定位于高性能服务器、行业业务主机等。FT2000采用ARMv8指令集,但是使用自研内核,不同于市面上ARMv8的Cortex-A53\A57\A72(直接购买于ARM公司的内核)。

FT2000之所以引人注目还因为它在性能方面,包括高达64个FTC661处理器核,其公布的Spec 2006测试中,成绩为整数672、浮点585,足以和Xeon E5-2699v3相媲美。这也是国产服务器芯片第一次在性能上追平Intel,存储器控制芯片总聚合带宽为204.8GB/s,超过目前的E5V3和E7V3,接近IBM POWER8(230GB/s)。跑分与Intel的Xeon E5-2699v3相媲美意味着飞腾2000对于很多商业应用来说已经完全够用了,只要软件生态跟得上,完全可以在商业市场上取代Intel的某些产品。

2.华为海思

华为海思目前是我国技术最强大的芯片开发商之一。华为的麒麟芯片在性能上与高通、三星这些领先的芯片企业处于一个水平。同时华为目前也是国内四大服务器提供商之一,华为、联想、浪潮等国产服务器企业占有中国服务器市场的份额已经超过65%。华为在几年前便已经购买了ARM指令集架构授权,开始研发自有的处理器核,主攻服务器市场。

在“十二五”科技创新成就展上,华为展出了其第一台ARM平台服务器“泰山”,配备自主研发ARM架构64位处理器“Hi1612”,采用台积电16nm工艺,拥有多达16个核心,兼容ARMv8-A指令集。凭借华为强大的研发实力与市场运作能力,相信一定会有不俗的表现。

3.展讯

除华为之外,展讯是另一家国内手机芯片的翘楚。2016年展讯的芯片出货达到67000万套,2017年6月宣布成功研发其自主的ARM架构处理器,展讯宣称在SC9850 4核(Cortex-A7)芯片同样大的面积上实现了6核的设计,功耗和性能都可以按照自己的需求调配,标志着展讯成为了除苹果、三星两家智能手机厂商之外(三星和苹果的自主芯片主要都是自用),继高通之后,第二家拥有自主ARM CPU关键技术的手机芯片厂商。

4.华芯通

2016年,高通与中国贵州政府合资在华成立了一家芯片公司——华芯通半导体,旨在专门为中国市场设计与开发服务器专用芯片的公司。华芯通已获ARM v8-A架构授权,并表示中国成为全球第二大数据中心市场,该授权将帮助华芯通半导体在快速扩张的中国服务器市场推出先进服务器芯片组技术,帮助中国企业在本土市场提供基于ARM的服务器技术,从而推动高效服务器解决方案的大规模部署。

背锅侠ISA

从上述几个章节中,我们已经了解了国内CPU设计的英雄榜。但是如前文所述,目前在民用商业领域内,仍然没有看到太多国产CPU的身影。可以说,国产处理器在民用商业领域至今尚未足够成功的主要原因在于ISA,这口锅ISA必背无疑。

论述了指令集架构(ISA)对于CPU的重要性,那么对于一款CPU而言,绝对的硬件技术水平不是最重要的。

目前商业主流的指令集架构在不同的领域已经各自出现了明显的霸主格局。

 x86架构统治着桌面PC与服务器领域。
ARM架构统治着移动手持领域,同时对桌面PC和服务器领域全面进军。
ARM在嵌入式领域占据绝对优势。
因此作者之前一直认为,只有依附于x86与ARM阵营的商业公司,才能够真正地实现全面的商用化。相信这也是为什么在近几年来国内CPU设计的英雄榜上涌现出来的大多为x86或者ARM系的原因。

但是,国产自主对我国的国计民生又至关重要,追求国产自主安全可控是我国在战略上必须坚持的方向。从这个角度上来看,选择x86或者ARM架构终究也有其局限性,分别论述如下。

1.x86架构

·        由于Intel与AMD本身是芯片公司而不是知识产权(IP)公司,因此x86架构是其生命线,假设其他得到授权的芯片公司使用x86架构生产的芯片对Intel和AMD造成了实质威胁时,Intel与AMD完全可以拿起专利的大棒停止授权。

·        x86架构的授权费用极为高昂,远非普通公司或者组织能够染指。

2.ARM架构

·        ARM架构的局面会乐观很多,因为ARM架构虽然也是属于ARM公司且受专利保护的架构,但是ARM公司的商业模式是以开放共赢为基本原则。ARM公司是ARM生态的主导者和核心规则的制定者,通过基础架构授权、IP核授权等方式获得经济收益。而生态系统中大量的上下游软硬件企业则遵循ARM统一制定的标准规范,对接众多客户需求而实现经济利益的获取。

·        国内基于ARM生态的CPU产业已有较好基础,华为海思、展讯、联芯和飞腾等众多企业均已累积多年的ARM芯片研发经验,在移动终端领域我国芯片设计技术已与国际主流水平同步,国外的巨头高通、三星和谷歌等也属于ARM生态系统阵营的成员。因此,从全球范围来看,国内外的芯片公司能够在开放共赢的生态下进行公平的竞争。基于上述原因,国内CPU英雄榜上使用ARM架构的CPU公司,其成就更加令人可期。

·        尽管如此,ARM架构毕竟属于ARM公司,一方面需要为ARM公司支付极其高昂的授权费(一次数千万美金),另一方面被软银收购后ARM现在属于一家日本公司。因此,从绝对的自主可控的角度来看,受制于人那是在所难免的。

所谓“成也萧何,败也萧何”,读到此处,读者可能要问,难道就没有一种ISA具备如下几个特点吗?

(1)它开源共享,不属于某一家商业公司私有,因此也就不会有受制于人与自主可控的隐忧,更加不需要向商业公司支付高昂的授权费。

(2)它以开放共赢为基本原则,有一个统一的非盈利组织作为主导者和核心规则的制定者,任何公司和个人都可以永久免费地使用其架构。

生态系统中大量的上下游软硬件企业应遵循该组织统一制定的标准规范,对接众多客户需求而实现经济利益的获取。
 同样从全球范围来看,国内国外的芯片公司能够在此开放共赢的生态下进行公平的竞争。
相信很多人都与作者一样,在很长的一段时间内,非常期待有这样一种ISA的出现,业界甚至出现过希望由国家主导指定一种国家标准ISA,从而统一国内CPU各ISA派系的声音。然而,国家标准ISA这种被局限在一国范围内的技术在当今全球化的趋势下,必然是格格不入且不可能成功的。于是所有人都认为不可能出现这样一种ISA了,作者作为一名CPU设计的老兵,也不得不用一首诗来表达一下彼时的心情:“死去元知万事空,但悲不见九州同。王师北定中原日,家祭无忘告乃翁”。

然而在2016年,有一位叫做RISC-V的新生突然自带光环登场。它完全符合上述提到的两个条件,属于全人类的免费开放架构,无任何专利的桎梏,众多国际知名大公司均加入其中,将以开放共赢的生态下进行公平的竞争。作者隐隐感到,如果这个ISA真能够发展起来,这似乎可能是国产CPU崛起的真正机会。刚才我们提到曾有人建议制定一种国家标准的指令集架构,而当RISC-V诞生不久,我们的邻国印度迅速地采用了RISC-V作为其国家标准的指令集,推荐其国内的大学和研究机构均采用RISC-V架构,并且已经制定规划且投入专项资金用于开发几个不同系列的RISC-V处理器。

有道是“山穷水尽疑无路,柳暗花明又一村”,有关新生的RISC-V架构。

人生已是如此艰难,你又何必拆穿——CPU从业者的无奈

对于每一个行业的普通从业者而言,都希望所在行业能够蓬勃发展、欣欣向荣,能够有大量的商业公司参与并产生大量工作岗位的需求。倘使所在的行业或是日暮西山,或是走向寡头化成为一潭死水,自然也就无法诞生大量的工作需求,那普通的从业者们可能就只有“寻寻觅觅,冷冷清清,凄凄惨惨戚戚”,或者“门前冷落鞍马稀,老大嫁作商人妇”了。

处理器设计便是一个典型的例子。虽然处理器设计是一门开放的学科,其所需的技术均已成熟,很多的工程师与从业人员都已经掌握,也具备开发的处理器的能力。但是:

·        由于处理器架构长期以来主要由以Intel(x86架构)与ARM(ARM架构)为代表的商业巨头公司所掌控,及其软件生态环境衍生出的寡头排他效应,成为了普通公司与个人无法逾越的天堑。

·        由于寡头的排他效应,众多的处理器体系结构走向消亡,国产的商用CPU也无法足够成功,从而造成了CPU设计这项工作变成了极少数商业公司的“堂前燕”,普通平民“只可远观,而不可亵玩焉”,国内长期没有形成有足够影响力的相关产业与商业公司。

综上,作者作为曾经在国际一流公司任职的CPU高级设计工程师,竟一度在换工作时面临择业无门的窘境,更扼腕叹息众多同仁被迫转行的情形。正可谓“曲高者和寡,大音者稀声”,CPU设计从业者,颇无奈也。读至此,被迫转行的同仁们可能已经老泪纵横:“人生已是如此的艰难,你又何必拆穿啊”。

好消息是最近几年来国内CPU产业的情形终于发生了的改观,由于中国的巨大市场与产业支持,国内涌现出了如上节中我们提到的兆芯、飞腾、华为、展讯、海光和华芯通等从事CPU设计的公司,且随着《手把手教你设计CPU》介绍的RISC-V架构之诞生,都将催生更多的市场需求。

东边日出西边雨,道是无晴却有晴——RISC-V登场

RISC-V架构主要由伯克利大学的Krste Asanovic教授、Andrew Waterman和Yunsup Lee等开发人员于2010年发明,并且得到了计算机体系结构领域的泰斗David Patterson的大力支持。伯克利大学的开发人员之所以发明一套新的指令集架构,而不是使用成熟的x86或者ARM架构,是因为这些架构经过多年的发展变得极为复杂和冗繁,并且存在着高昂的专利和架构授权问题。并且修改ARM处理器的RTL代码是不被支持的,而x86处理器的源代码根本不可能获得到。其他的开源架构(譬如SPARC、OpenRISC)均有着或多或少的问题(第2章将详细论述)。有感于计算机体系结构和指令集架构已经过数十年的发展非常成熟,但是像伯克利大学这样的研究机构竟然“无米下锅”(选择不出合适的指令集架构供其使用)。伯克利大学的教授与研发人员决定发明一种全新的、简单且开放免费的指令集架构,于是RISC-V架构诞生了。

有关RISC-V的诞生,有兴趣的读者可以自行到网络中查阅文章《伯克利希望将RISC-V开源架构推向主流》。

RISC-V(英文读作“risk-five”),是一种全新的指令集架构。“V”包含两层意思,一是这是Berkeley从RISC I开始设计的第五代指令集架构;二是它代表了变化(Variation)和向量(Vectors)。

经过几年的开发,伯克利大学为RISC-V架构开发除了完整的软件工具链以及若干开源的处理器实例,得到越来越多的人的关注。2016年,RISC-V基金会(Foundation)正式成立开始运作。RISC-V基金会是一个非盈利性的组织,负责维护标准的RISC-V指令集手册与架构文档,并推动RISC-V架构的发展。

RISC-V架构的目标如下。

成为一种完全开放的指令集,可以被任何学术机构或商业组织所自由使用。
成为一种真正适合硬件实现且稳定的标准指令集。
RISC-V基金会负责维护标准的RISC-V架构文档和编译器等CPU所需的软件工具链,任何组织和个人可以随时在RISC-V基金会网站上免费下载(无需注册)。

RISC-V的推出以及基金会的成立,受到了学术界与工业界的巨大欢迎。著名的科技行业分析公司Linley Group 将RISC-V评为“2016年最佳技术”,如图1-12所示。

开放而免费的RISC-V架构诞生,不仅对于高校与研究机构是个好消息;为前期资金缺乏的创业公司、或成本极其敏感的产品、或对现有软件生态依赖不大的领域,都提供了另外一种选择,而且得到了业界主要科技公司的拥戴,包括谷歌、惠普、Oracle和西部数据等硅谷巨头都是RISC-V基金会的创始会员,如图1-13所示。众多的芯片公司已经开始使用(譬如,三星、英伟达等)或者计划使用RISC-V开发其自有的处理器用于其产品。

RISC-V基金会组织每年举行两次公开的专题讨论会(Workshop),以促进RISC-V阵营的交流与发展,任何组织和个人均可以从RISC-V基金会的网站上下载到每次Workshop上演示的PPT与文档。RISC-V第六次Workshop于2017年5月在中国的上海交大举办,如图1-14所示,吸引了大批的中国公司和爱好者参与。

简单就是美——RISC架构的设计哲学

RISC-V架构作为一种指令集架构,在介绍细节之前,让我们先了解设计的哲学。所谓设计的“哲学”便是其推崇的一种策略,譬如我们熟知的日本车的设计哲学是经济省油,美国车的设计哲学是霸气等。RISC-V架构的设计哲学是什么呢?是“大道至简”。

作者最为推崇的一种设计哲学便是:简单就是美,简单便意味着可靠。无数的实际案例已经佐证了“简单即意味着可靠”的真理,反之越复杂的机器则越容易出错。一个最好的例子便是著名的AK47冲锋枪,正是由于简单可靠的设计哲学,使其性价比和可靠性极其出众,成为世界上应用最广泛的单兵武器。

在格斗界,初学者往往容易陷入追求花式繁复技巧的泥淖,迷信于花拳绣腿。然而顶级的格斗高手,最终使用的都是简单、直接的招式。所谓大道至简,在IC设计的实际工作中,作者曾见过简洁的设计实现其安全可靠,也曾见过繁复的设计长时间无法稳定收敛。简洁的设计往往是可靠的,在大多数的项目实践中一次次得到检验。IC设计的工作性质非常特殊,其最终的产出是芯片,而一款芯片的设计和制造周期均很长,无法像软件代码那样轻易地进行升级和打补丁,每一次芯片的改版到交付都需要几个月的周期。不仅如此,芯片的制造成本费用高昂,从几十万美金到成百上千万美金不等。这些特性都决定了IC设计的试错成本极为高昂,因此能够有效地降低错误的发生就显得非常重要。现代的芯片设计规模越来越大,复杂度也越来越高,并不是要求设计者一味地逃避使用复杂的技术,而是应该将好钢用在刀刃上,将最复杂的设计用在最为关键的场景,在大多数有选择的情况下,尽量选择简洁的实现方案。

作者在第一次阅读RISC-V架构文档之时,不禁赞叹。因为RISC-V架构在其文档中不断地明确强调其设计哲学是“大道至简”,力图通过架构的定义使硬件的实现足够简单。其简单就是美的哲学,可以从几个方面看出,后续小节将一一加以论述。

无病一身轻——架构的篇幅

如果对ARM的架构文档熟悉的读者应该了解其篇幅。经过几十年的发展,现在的x86与ARM架构的架构文档多达数千页,打印出来能有半个桌子高,可真是“著作等身”。

想必x86与ARM架构在诞生之初,其篇幅也不至于像现在这般长篇累牍。之所以架构文档长达数千页,且版本众多,一个主要的原因是其架构发展的过程也伴随了现代处理器架构技术的不断发展成熟,并且作为商用的架构,为了能够保持架构的向后兼容性,不得不保留许多过时的定义,或者在定义新的架构部分时为了能够兼容已经存在的技术部分而显得非常的别扭。久而久之就变成了老太婆的裹脚布——极为冗长,可以说是积重难返。

那么现代成熟的架构是否能够选择重新开始,重新定义一个简洁的架构呢?可以说是几乎不可能。Intel也曾经在推出Itanium架构之时另起灶炉,放弃了向前兼容性,最终Intel的Itanium遭遇惨败,其中一个重要的原因便是其无法向前兼容,从而无法得到用户的接受。试想一下,如果我们买了一款具有新的处理器的计算机或者手机,之前所有的软件都无法运行,那肯定是无法让人接受的。

现在推出的RISC-V架构,则具备了后发优势。由于计算机体系结构经过多年的发展已经是一个比较成熟的技术,多年来在不断成熟的过程中暴露的问题都已经被研究透彻了,因此新的RISC-V架构能够加以规避,并且没有背负向后兼容的历史包袱,可以说是无病一身轻。

目前的“RISC-V架构文档”分为“指令集文档”和“特权架构文档”。“指令集文档”的篇幅为100多页,而“特权架构文档”的篇幅也仅为100页左右。熟悉体系结构的工程师仅需一两天便可将其通读,虽然“RISC-V的架构文档”还在不断地丰富,但是相比“x86的架构文档”与“ARM的架构文档”,RISC-V的篇幅可以说是极其短小精悍。
————————————————
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-4-25 12:42 , Processed in 0.065169 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表