经历晶体管时代、微处理器时代和移动时代后,现在我们已进入到垂直半导体时代。在这个时代,RISC-V变得势不可挡。SiFive RISC-V中国技术论坛上,加州大学伯克利分校EECS(电气工程和计算机科学)教授、RISC-V International主席、SiFive联合创始人兼首席架构师Krste Asanović给出了他的理由,并解释了为什么RISC-V将拥有更好的处理器和更好的生态系统。
据介绍,Asanović教授及其团队之所以开始RISC-V研发,是因为当时的指令集都是和某家公司绑定的。但问题是公司来来往往,指令集也随之消失。如果围绕这些公司的指令集构建一个软件世界,软件投资也会随之消失。
比如,美国数字设备公司(DEC)曾经是家非常重要的大型计算机公司,他们开发了PDP-11、VAX和Alpha等各种领先且流行规格和指令集,但是后来这家公司却消失了。
英特尔仍然存在,但他们的几个指令集——i960、i860和Itanium(安腾)——推向市场后却陨落了。尤其是Itanium处理器,很多公司在其上投入了大量资金,但它却从x86市场撤出了,而AMD64实际上接管了这个领域。
SPARC是早期的RISC之一。Sun公司实际上在1994年就将其v8版开放成了IEEE 1754-1994标准。但后来Oracle对其进行了收购,之后又将其关闭成封闭的ISA开发。开放的路是对的,但开放的时间点,以及如何走下去,都是开放要走向成功的关键。
MIPS是另一种早期的RISC ISA,这种ISA在当时非常受欢迎,尤其是在教育领域。许多大学都使用过MIPS,因为它是教学中所使用的最简单、最干净的指令集之一。但由于它的销量下降,先是被卖给了Imagination,然后又卖给了Wave,最后作为一家独立的公司分拆出来。为了响应RISC-V,他们在2018年开放了MIPS ISA R6,但在2019年又决定将其关闭。现在MIPS公司又转向了RISC-V ISA,因为他们意识到MIPS不可能竞争得过市场上的开放标准。
IBM和Arm两家公司出现在上世纪90年代。IBM广泛地将IBM Power应用于大型高端服务。然而,为了应对RISC-V的冲击和业界对Power兴趣的下降,IBM于2019年开放了Power,但围绕开放Power的活动却很少。
Arm,其指令集显然在业界非常重要,但是2016年软银收购Arm却引起了轩然大波。每个人都想知道以高于市场价值的大幅加价将Arm私有化会发生什么后果——他们要如何拿回投资?
当软银试图让英伟达收购Arm时,则引起了更大的市场反响。在这几年,人们非常担心自己的竞争对手垄断其所需的IP。但随后该交易被监管机构叫停。现在软银正在尝试再次对Arm进行IPO。
所以,我们为什么要将软件投资托付给某家公司专有的ISA?软件是生态系统中最昂贵的部分,它需要的工程师最多,持续的时间也最长。当公司只是来来往往接受投资时,那为什么我们还要把它与这些公司的指令集联系起来呢?
现在,在其他计算领域,开放标准很常见。从网络到图形接口,到数据库语言,到C语言,到操作系统接口,这些都是开放的,这是其他计算领域的常见情况。那么为什么在指令集上不能相同呢?
另一个不同的话题是,为什么单个芯片上要用到这么多指令集?如果来看最新的SoC,人们经常会说这是Arm芯片,但实际的意思是指基于Arm的应用处理器。大多数程序员在使用该芯片时看到的就是Arm处理器,但在同一块芯片上,还有许多其他不同类型的处理器,例如图形、图像、射频、音频、安全和电源管理。在单个芯片上看到十多种不同的指令集的现象并不罕见。
那么为什么要这样做呢?原因之一是应用处理器ISA太大且不灵活,不适用于其他专用处理器。
第二,即使想使用该应用处理器的ISA,也不能使用。因为它是专有的,所以不能使用Arm指令集构建自己的内核,然后出售该IP,这是不被允许的。如果我们制作需要控制器(例如MCU)的IP模块,就需要有一些其他的指令集。而且人们通常会发明自己的指令集。当使用来自许多不同供应商的IP块组装该SoC时,最终就会得到许多不同的指令集。
最后一个原因是,有时管理人员会让他们的工程师设计自己的指令集。这确实是个糟糕的想法。我们不应让工程师这样做。这样会浪费大量金钱和时间来获取软件,且有很多指令扩展。Asanović教授及其团队在构建RISC-V时提出的问题是,我们真的需要所有这些不同的指令集吗?它们必须是专有的吗?它们会短暂存在而终将消失吗?因此,RISC-V背后的想法是得到一种稳定、免费和开放的指令集,每个人都可以使用它来设计任何东西。
RISC-V项目启动的背景是在2010年,经过多年使用MIPS、SPARC和x86创建许多研究项目之后,加州大学伯克利分校的架构小组需要选择新的ISA来进行下一组项目。当时显而易见的选择是业界占主导地位的指令集:x86和Arm。但两者都有复杂的问题。另外,它们也都有IP问题——即使是在大学建立自己的内核,也无法与他人实现共享(这是不被允许的或非法的)。“我们确实评估过,但我们那时正在使用64位地址空间,当时Arm还没有64位设计,他们只有Arm v7,一年后才推出了Arm v8。”Asanović教授补充说。
“所以我们开始了这个项目,从头开始构建一个全新的ISA。刚开始我们乐观地认为只需要3个月。主要设计师有Andrew Waterman、Yunsup Lee、David Patterson和Krste Asanović(他本人),也有很多人为这个项目的成功提供了帮助。4年后的2014年5月(远超3个月的时间),我们最终发布了冻结的基本用户规范。花了这么长时间,我们实现了很多芯片流片,并移植了编译器,移植了迭代设计过的操作系统,以尝试对其改进。经过4年的迭代才对此时的指令集感到满意。”Asanović教授介绍说。
RISC-V命名是来自伯克利的第五代RISC ISA。在此之前还经历过四代产品。“2014年,团队开始尝试推广开放ISA RISC-V的理念,得到了业界非常积极的反馈,说这正包含他们需要的简单、高效、可扩展和开放性,因为行业内目前还没有这样的项目。”
“业界对此表现得非常热情,并表示不能仅仅将其作为一个大学项目,而是需要一个更稳定的基础。如果要对这项技术投资数十亿美元就需要有一个稳定的机构作为指令集的基础,因此RISC-V基金会应运而生。它是一个非营利组织,只负责管理标准。2019年,RISC-V基金会被纳入总部位于瑞士的RISC-V International(RISC-V国际基金会,简称RVIA),因为我们想明确指出这是一个全球开放标准。自2015年以来,RISC-V基金会新增了许多成员。事实上,几乎所有计算领域的主要公司现在都是RISC-V基金会的成员,去年Intel就成为了会员。”Asanović教授继续说道。
RISC-V是如何运作的?RISC-V International是RISC-V生态系统的核心,它负责处理指令集规范,标准参考模型和兼容性等核心问题,是软硬件协同的接口,既向上承载整个软件生态、又向下规范以处理器芯片为代表的整个硬件生态。
人们经常错误地认为RISC-V是一种开源处理器。但RISC-V不是一种开源处理器,而是一种开源指令集架构。正因如此,用户才可以拥有开源处理器。市场上已有基于RISC-V开源和商业内核的数百种处理器。现在,包括SiFive在内,已有十几家公司可提供商业许可的、需要版税的处理器设计。目前RISC-V拥有的商业内核供应商,比任何其他指令都要多得多。RISC-V在世界范围内变得流行,专业公司如雨后春笋般涌现出来对其提供支持。
现在除了开源内核和商业内核之外,还有内部内核。有相当多的公司在自己的项目内部使用RISC-V。他们开发了供自己使用的RISC-V内核,因此可以针对自己的用例专门设计自己的指令。
例如,在视频领域,视频GPU使用RISC-V来控制并提供安全功能。这些内核对GPU用户来说是不可见的,但它们是芯片和视频传输的一部分。这种GPU中的每个GPU可能都配有10到30个RISC-V内核。希捷(Seagate)是另一个例子,他们在驱动控制器上使用自己设计的处理器。他们构建该处理器并对其进行了定制,以供驱动器内部使用。最后,还有越来越多的商业芯片提供商也在销售基于RISC-V的芯片。从逻辑上看,这些初创公司的数量正在不断增长,现在有很多人也在开发商业芯片。
现在,重要的是要认识到所有这些不同的RISC-V内核都来自不同的地方,它们将共享相同的标准接口,这才是真正强大的地方,因为它们可以共享相同的软件生态系统,Asanović教授指出。
此外,在软件方面也有开源软件,所有主要的开源项目,如Linux、GCC、LLVM、BSD、FreeRTOS,都对RISC-V提供了架构支持。同样,不仅仅是开源软件,RISC-V也得到了商业软件的广泛支持。“所以很多公司都宣称他们可提供工具、客户授权、软件工具和授权。现在,习惯使用这些工具的大公司正在转向RISC-V,并要求供应商提供与他们过去所使用的相同工具。”Asanović教授说并再次强调,“RISC-V是一种开放标准,而不是一种开源处理器。因此,用户可以拥有开源内核,也可以拥有商业内核,还可以拥有支持RISC-V的开源和商业软件整个生态系统也正蓬勃地发展。”
RISC-V增长的速度令人难以置信。下图是某分析师对RISC-V内核出货数量的预测,并声称到2025年前RISC-V内核将出货超过800亿个。但Asanović教授认为这个估计非常保守。“实际上去年RISC-V内核的出货量就已超过100亿个,并且这个数字还在不断上升。”
Asanović教授举例道,在美国,用户可以在AliExpress上以10美分的零售价在线购买到RISC-V MCU。
如今在教育领域,RISC-V已经很普遍了。有很多设计也是为了帮助教学,也有多种语言的RISC-V书籍,包括中文版本,相关课程已在许多学校迅速扩展。据统计,有数以万计的本科生正在大学学习RISC-V课程。这也意味着良好的培训与未来人才的输出。
那么为什么RISC-V如此受欢迎呢?为什么它会起飞?Asanović教授认为,RISC-V起飞的原因并不是它在某些基准测试中实现了30%的功耗降低或10%的速度提高,而是商业模式已经改变。
“以前,当你想设计一款SoC并为其寻找IP时,你会去找供应商问,你能满足我对这部分SoC的需求吗?他们会说,当然可以。这是我们的内核设计。然后,你对竞争对手的设计进行比较,并从中挑选一个。当你选择该内核时,你也会获得该供应商的指令集,并与它绑在一起。”Asanović教授指出,“现在情况翻转了。首先你会说我想要一个RISC-V内核来执行此功能。当你选择供应商时,可在多个供应商彼此竞争后从中择一,如果你在芯片上取得了成功,下个芯片你也可以选择更换供应商。所以选用RISC-V确实可以在市场上形成良性竞争。”
“另一方面,你可以添加自定义扩展,而无需获得许可。英伟达、希捷和阿里巴巴等公司可以依照自身的目的去构建自定义扩展。他们在使用RISC-V内核时不需要请求许可就能在应用中添加一些对他们有帮助的指令,与此同时仍然可以与软件生态系统共享他们所拥有的大部分代码行。”由于它是一个开放标准,学术界、产业界、开源生态系统都可以围绕开放标准一起工作和协作,这就让所有团体之间的合作毫无障碍。
x86是一种微处理器商业模式。使用x86芯片的唯一方法是从Intel和AMD购买它。你无法获得构建自己的x86内核的架构授权,这是不被允许的。“市场上没有x86商业软核可以供用户构建自己的芯片。你无法将你的指令添加到x86,市场上也没有开源的x86 IP,这是Intel和AMD微处理器芯片的商业模型。”Asanović教授解释说。
Arm显然不同,Arm真正开创了软核IP模式。有许多供应商在销售带有Arm指令集的芯片。“你可以从Arm获得架构授权来构建自己的Arm内核。例如,苹果公司以使用Arm授权自行构建非常高效的Arm内核而闻名,但该授权有着非常严格的限制。”Asanović教授指出,“你可以用这个授权做什么?基本上,你可以为自己的芯片构建自己的内核,这是RISC-V无需授权即可做到的事情。现在你可以获得一款商业授权,但只能从Arm获得,只有这一家供应商能出售Arm IP。例如,苹果拥有非常好的Arm处理器。但即使苹果愿意,Arm也不允许将这些内核IP出售给其他任何人,苹果只能在自己的芯片上使用它们。只有Arm可以出售Arm IP。”
“那可以添加自己的指令吗?大多不行。然而,作为对RISC-V的回应,Arm在某些情况下允许一些客户对其部分内核进行定制。有没有开源的Arm IP呢?没有,至少在最近的指令架构差异中是这样。RISC-V相比之下是非常开放的,因此有很多厂商都已在构建RISC-V芯片。RISC-V指令架构授权基本上是免费的。任何人都可以下载规范并构建自己的RISC-V内核,然后就可以使用围绕RISC-V的所有软件生态系统。如果你想商业化构建受支持保证的内核,也有很多商业内核提供商,因此RISC-V内核有很多选择。如果你想添加指令设计也是可行的,有专门的一块编码空间用于自定义指令。也有许多可用的开源内核或IP。这确实是RISC-V所带来的差异,因为它是完全开放的标准,而其他业务模式则受到种种限制。”
整个行业是如何转变为垂直半导体商业模式的?Asanović教授认为这是真正推动历史发展的关键变化之一。他指出:“以前,每家公司会使用芯片供应商的标准芯片来制造产品。你可以购买一个MPU,围绕它设计电路板,然后得到产品。但如今,随着晶体管数量密度的增加,人们正在芯片上构建系统,然后定制他们的产品,这就能使产品变得更好。举例来说,智能音箱和智能电视生产商会为它们的产品设计特殊的芯片,然后制造产品。在手机方面,苹果为其手机生产芯片。他们不卖芯片,而是卖手机。他们制造芯片的目的是为了卖手机。在云服务器领域,谷歌制造自己的芯片(比如TPU),Facebook制造自己的人工智能引擎,亚马逊则提供自己基于Arm的服务器芯片。这些公司都在制造自己的芯片。他们不出售芯片,而是出售他们为自己所设计芯片之上的产品或服务。在汽车方面,特斯拉也为他们的汽车生产芯片。他们不卖芯片,而是卖汽车。”
“当这些公司选择制造芯片时,他们是为了提高产品的价值,并且最终产品的销售也能证明自制芯片的合理性。现在业界已经准备好支持这种模式。我们有代工厂,有软核IP和工具,来帮助这些产品公司在任何地方开发,并根据他们的产品进行定制。”
以网络连接为例。过去,在网络的旧时代,市场上存在各种协议:DECnet、IBM Token Ring、AppleTalk、Acorn Econet、ARCNET、FDDI,等等。“请注意,这些都是专有技术,甚至它们的公司名称就是以网络技术的名字命名。但现在一切都是变成以太网,每个人都在使用以太网。”Asanović教授强调。
事实上,RISC-V势不可挡的原因是行业需要一种开放标准ISA。“这确实是每个行业都想要的,这就是为什么RISC-V发展会有如此大的动力,因为每个人都认为这是正确的前进方向。就像计算行业中的所有其他标准也应该开放一样,这就是强大的力量。”
“另外一个让大家围绕RISC-V团结起来的原因是,他们认为这是一种高质量的开放标准,并且随着更多的投资,他们只会变得更好。一旦拥有了高质量的开放标准并且每个人都在使用它,就会不断优化,且没有人会愿意回到痛苦的封闭专有标准。”Asanović教授指出。
“为什么说RISC-V将拥有更好的处理器呢?现在人们说最初的RISC-V只是为了构建物联网嵌入式MCU,但正如你所看到的,我们正在构建非常高端的高性能RISC-V处理器。我们的PPA(功耗性能面积)比Arm内核具有显著的优势。例如,当SiFive构建Performance系列内核时,RISC-V指令集为我们带来了非常显著的技术优势。”Asanović教授表示。
“RISC-V成为更好的处理器的第二个原因是竞争。有许多供应商都在构建RISC-V内核,这势必会形成相互竞争,且必须从竞争和创新当中求生存。由此产生的另一个好处是供应商可以各自专注于不同领域发展。例如,他们可以专门构建用于太空的RISC-V芯片、用于安全的RISC-V芯片,或用于AI/ML的RISC-V芯片,不同的供应商可以将精力集中在行业中的一个区块。当优化它时,他们仍然能通过专注于某一领域的软件堆栈共享标准。如此一来,单个供应商就无法覆盖所有领域。”
“RISC-V因为拥有一个由许多供应商所组成的生态系统,竞争非常激烈,所以在任何特定领域都能得到更好的RISC-V内核。”他补充说。
现在,只要看看RISC-V高性能内核或任何具有超标量乱序执行向量功能的应用处理器的示例,就可以知道有很多公司正投入到该领域。
SiFive不久前发布的SiFive P600系列内核,是一款四发射乱序执行超标量处理器。Asanović教授认为要实现SiFive产品,不仅是处理器,还包括它周围所需的其他一切——需要有一整套功能来构建真正的应用子系统。
SiFive提供了RISC-V矢量扩展(RVV)1.0版,支持hypervisor扩展和MSI中断控制程序。支持多达16个内核的多集群一致性多核。支持内核上的跟踪和调试功能,以及包括WorldGuard安全和RISC-V矢量加密功能在内的一整套功能,而不仅仅只有RISC-V的原始功能特色。其性能与Cortex-A78相当,但它只有A78约一半的面积,这就是RISC-V拥有更好PPA展现的好例子。
RISC-V内核强大、高效并且功能齐全。“很多客户好奇,为什么我们的PPA能实现如此大的差异?部分原因是我们有RISC-V ISA。RISC-V是一种全新的指令集,我们的ISA更简单,所有的指令都只指向寄存器,而Arm的限制性很大。在小内核中这个特性对性能影响并不那么明显,重要的是当你设计复杂四发射、六发射、八发射、十发射内核时,看增长的效率有多高。”Asanović教授解释说。
“我们也有单个比较+分支指令,是一条指令,而Arm则需要两条:先比较再分支。这些细微差别叠加起来,就让它的效率增加很多。”
“由于是全新设计,我们也简单得多。同时摆脱了很多行业中的老问题,甚至一开始就没有老问题,这也让它变得更有效率。另一个很大的优点是,它是由社区中的专家所设计的。这个RISC-V做出贡献的大型社区,不仅仅有大学教授在添加指令,还有行业设计人员,他们构建了指令集架构并持续研究RISC-V。这些人设计过x86 ISA,设计过Arm ISA,现在在从事RISC-V ISA的工作,拥有丰富的经验。”
Asanović教授认为,RISC-V的性能水平或应用领域没有限制。SiFive的RISC-V内核在原始性能效率方面也将在几年内超越其他所有内核。
RISC-V确实非常适合垂直设计。因此,不仅是应用处理器内核,所有其他领域的内核都可以基于RISC-V。“当我们开始RISC-V项目时,目的是为了构建专用处理器,这实际上是我们最初创建RISC-V的原因。现在你可以定制处理器,且大多数人都会使用标准的RISC-V共同基础,你可以共享相同的软件工具链。”Asanović教授说。
在SiFive产品组合中,Essential系列内核是比任何内核都小的小型内核,Performance系列属于高端应用处理器,Intelligence系列则是专为AI设计的512b宽向量并支持AI加速。此外,SiFive还有Automotive系列产品线来支持车用需求。
“当你为SoC设计完整的平台时,我们有各种各样不同类型的RISC-V处理器,它们都可以协同工作。”Asanović补充道。
系统中经常需要许多不同类型的内核。因此,SiFive将开发一个车用平台,其中包括许多部分。“例如,我们有S7 64位高效内核,可用于设计车用安全岛。我们有非常高性能的内核。而P870则是一个性能更高的内核,它从一开始就有车用版本。我们有客户将在高端车用芯片中使用它。SiFive还有车用版本的AI加速内核。这些不同的内核设计,可一起工作并配置在各种类的产品中。客户可以围绕SiFive的这些RISC-V内核构建整个平台。”
SiFive智能型内核是几年前所开发的内核,在去年进行了更新。“这对我们来说是一个意外的成功。我们对大家的采用感到非常高兴。”Asanović教授说。
这是一个双发射循序执行超标量内核,并采用32个512位向量寄存器进行扩展。它还具有用于AI/ML加速的BF16和INT8矩阵乘法和转换指令。它也是一个成熟的应用处理器。
“现在客户使用该内核时,经常做的事情之一是将其放在某些硬件加速器引擎旁边。例如,他们有一个小的矩阵乘法或其他神经网络引擎。他们购买X280的原因是需要完整的软件堆栈。他们需要用它来运行许多他们加速器所无法运行的函数。举例来说,我们的X280可以非常有效地进行Softmax计算,我们在加速器上应用很小的X280,然后使用X280来运行Softmax和其他函数。”
“我们发现客户虽然很满意这个产品,但他们的加速接口却相对非常缓慢,因为他们只能用内存映像该加速器。客户要求我们提高他们连接的速度而实现加速。因此,我们还开发了向量协处理器接口扩展,这样,客户就可以将逻辑直接附加到X280内部的向量寄存器,实现快速的连接。同时,可以向加速器发送向量寄存器数据,并从加速器接收向量寄存器数据。每个周期都可以向加速器发送1024位数据,或从加速器接收512位数据。这样就能以非常高的速度,非常低的延迟,让数据直接进入向量寄存器,并使用常规RISC-V指令进行后处理。”
RISC-V除了将拥有更好的处理器,还将拥有更好的生态系统。“这需要一点时间,许多人正在研究RISC-V软件,而软件想要在更好的硬件上运行。如果处理相同的任务,一个处理器的电池寿命是另一个处理器的两倍,那么你可能就会想让系统迁移到更高效的处理器上面。”Asanović教授说。
另一方面是改善生态系统。当SoC中的所有内核都基于RISC-V时,工具链的支持将会更好。“因为它们可以共享一个工具链,而不是为芯片上的每种IP提供单独的工具链,所以这就可以更好地拉动性能跟踪、调试和其他类型工具的软件投资。”Asanović解释说。
尽管RISC-V合作伙伴不断地出现,但实际可用的开发板却不多。即便如此,仍有大量软件在开发。明年左右,将会有很多开发板进入到市场。“想象一下软件生态系统会发生什么。我们将数以万计、数十万、数百万个内核交付给每个人手中的开发板,这些内核将在明年运送到社区,这将进一步加速生态系统的发展。”Asanović教授表示。
SiFive在2018年2月发布了第一款Linux开发板SiFive HiFive Unleashed。下图显示了其在几周内移植Debian OS的进展情况——x轴的单位是星期,y轴是所移植的Debian软件包的百分比。它在短短几周内就从0%上升到了89%。由此可见,第一,开发硬件对于软件团队真正取得进展并获得成果非常重要;第二,将东西移植到RISC-V上非常容易。
下图展示的是即将到来的数以万计的RISC-V软件包。“这就是为什么我对未来几年软件行业非常乐观。如果你放眼整个领域,所有已经存在的公司都对RISC-V提供软件支持,这已经相当完整了。虽然仍存在一些差距,但随着新开发板的出现,很快就会被填补。”Asanović教授表示。
去年12月,谷歌在RISC-V峰会上宣布谷歌致力于使RISC-V成为Android的“一级(Tier 1)”架构。“他们持续在对RISC-V的Android移植进行改进。最初,阿里巴巴团队对此进行了起头工作,但现在谷歌承诺将提供全面支持。我们正与谷歌合作标准化Android的RISC-V配置文件。我们的想法是必须为Android提供单一RISC-V标准,这就是RVIA所期望的。我们与Google Android团队密切合作,寻找更多可以添加的新功能。预计从明年开始,Android配置文件将会最终确定。这非常重要,因为过去当谷歌发布Arm Android第一个版本时,是基于Arm v8的。一旦他们发布了该版本,许多开发人员就不会使用除Arm v8外的其他版本,因为市场上有太多设备,他们不可能全都适配。”Asanović教授指出。
“SiFive正在努力确保产品拥有许多良好的功能,以支持Android未来几十年的发展。RISC-V继续向前发展且有许多新的ISA功能正在开发中,我们对未来充满信心。”Asanović教授说道。
“对RISC-V碎片化的担忧,我认为这是不正确的,甚至有点误导。人们应该理解碎片化和多样性之间的区别。所谓碎片化,就是做相同的事情可能有两种不同的方式,例如是左舵驾驶汽车,还是右舵驾驶汽车。没有理由设置两种驾驶汽车的方式。对于支持两种不同立场的人来说,这只是额外增加成本。RISC-V支持这一点,也完全避免了这种情况。“Asanović教授解释说。
“多样性则是不同的问题可以用不同的方式来解决。如果我想穿过城镇,去杂货店,骑自行车就可以了。如果想载500人飞越海洋,那就需要一架喷气式飞机。当你遇到不同的问题时,你需要不同的解决方案。因此,要求每个人对每个问题都使用完全相同的功能是没有任何意义的。因此,RISC-V的多功能性在于你可以根据自己的用例定制不同的扩展。但在某些领域,你确实希望对这些功能进行标准化。”
谈到碎片化,不能忽视两个非常强大的力量,这也解释了为什么碎片化并不是RISC-V真正的问题。
第一个是用户。使用RISC-V的用户不想要碎片化,他们不希望重蹈被供应商锁定的覆辙,不想被供应商附加特殊功能而在未来必须对其产生依赖。使用RISC-V的关键在于开放标准。客户都很聪明,他们知道自己不会被供应商束缚。他们想让供应商彼此竞争。
第二个是软件。软件成本在任何其他项目中都占主导地位。“如果你有自己的软件碎片版本,你就必须支持它。未来的发展方向是,他们不必支持软件问题,因为他们正在使用标准软件。”Asanović教授指出。
这两个方面意味着碎片化在实践中并不是真正的问题。Asanović教授认为:“有些人正在以某种方式来攻击RISC-V,但实际上这并不是真正的问题,真正需要探讨的是如何帮助人们管理这种多样性。”
Asanović教授认为:“如果你正在开发一个实际项目,你可以继续进行自定义,但如果你所构建的东西需要使用大量第三方软件(例如应用处理器),那就确实需要标准化,这就是配置文件。”
“配置文件是要挑选一组每个人都会阅读并且每个人都会用到的同一组堆栈扩展。软件可以依赖它,并且它应该能在所有不同供应商的机器上运行。我们也在制定平台标准,也就是硬件的标准,例如基于RISC-V的标准服务器平台。”
最后,Asanović教授谈论了为什么RISC-V适合现在这个时代。
当回顾指令集的发展历史时,我们会发现在某个时代某种ISA会占主导地位,这符合当时的技术水平。
第一个指令集是IBM360。IBM360是由IBM所开发的,他们将整个公司的赌注押在指令集架构的想法上。他们曾经拥有多个不兼容的产品,又无法支持那么多不同类型的机器。于是他们推出了一套指令集来予以全部支持,那就是IBM360。IBM360确实主导了晶体管计算的早期主旋律且到今天IBM仍然在销售带有相同指令集的大型机。
下一个是最流行的指令集x86。Intel非常幸运,IBM选择将8086用于其第一批PC。于是它就成为了占据主导地位的ISA。人们可以从处理器供应商购买芯片,这就是x86真正的亮点。“你有一个微处理器,就可以围绕它来设计笔记本电脑。这就是微处理器时代的商业模式。x86确实统治了这个领域。”Asanović教授指出。
而后Arm提出了软核IP的想法,并说服了客户从其获得软核IP的许可,而不是自己设计处理器,然后苹果也参与进来。Arm占据了移动领域的主导地位,现在每部智能手机、每台平板电脑都基于Arm。
Asanović教授认为,RISC-V才是真正适合现在垂直半导体时代的架构。人们正在制造产品,特别是专门为产品制造芯片。在那些专用芯片中,它们不仅有应用处理器,其他所有处理器也都可以是RISC-V的。接下来的几十年将是RISC-V真正发挥作用的时代。
RISC-V势不可挡,行业需要这种商业模式,它会拥有更好的处理器。有更多的供应商彼此竞争,并专注各种问题。同时,随着参与者越多,它就会拥有更好的硬件、更好的生态系统,软件会想在更好的硬件上运行,因此未来一切终将变成RISC-V。