RISC-V,能否带来自主可控
中美科技战是最近很热的一个话题,在半导体行业更是讨论的如火如荼。如何尽快开发出基于自主可控CPU架构的芯片已经成为每一个中国半导体业者的重要课题。
现在最热门的就是RISC-V架构了,是否基于RISC-V架构的芯片就代表着自主可控,就代表着可以规避美国的出口管制,就可以建立起中国自己的生态系统?
对于芯片制造商而言,RISC-V特别具有吸引力的是开源。RISC-V指令集架构(ISA)在本世纪初开始在加州大学伯克利分校开发,可通过伯克利软件分发(BSD)许可证获得,它允许以最小的限制广泛分发设计。这对于开发原型的初创公司来说尤其适用,但也适用于高度特定的应用,如安全协处理器,因为它的源代码可以调整。此外,它在中国等市场表现良好。在中国,全国都在努力降低半导体贸易逆差,以及芯片的IP成本。
简单就是美——RISC-V架构的设计哲学
RISC-V架构作为一种指令集架构,在介绍细节之前,让我们先了解设计的哲学。所谓设计的“哲学”便是其推崇的一种策略,譬如说我们熟知的日本车的设计哲学是经济省油,美国车的设计哲学是霸气外漏等。RISC-V架构的设计哲学是什么呢?是“大道至简”。
所谓大道至简,在IC设计的实际工作中, 最简洁的设计往往是最可靠的,在大多数的项目实践中一次次的得到检验。
IC设计的工作性质非常特殊,其最终的产出是芯片,而一款芯片的设计和制造周期均很长,无法像软件代码那样轻易的升级和打补丁,每一次芯片的改版到交付都需要几个月的周期。不仅如此,芯片的一次制造成本费用高昂,从几十万美金到百千万美金不等。这些特性都决定了IC设计的试错成本极为高昂,因此能够有效的降低错误的发生就显得非常的重要。
RISC-V架构在其文档中不断地明确强调,其设计哲学是“大道至简”,力图通过架构的定义使得硬件的实现足够简单。其简单就是美的哲学,可以从几个方面容易看出。
1、无病一身轻——架构的篇幅
在处理器领域,目前主流的架构为x86与ARM架构, 现代的x86与ARM架构的架构文档长达几百数千页,且版本众多,一个主要的原因是因为其架构的发展的过程也伴随了现代处理器架构技术的不断发展成熟。
并且作为商用的架构,为了能够保持架构的向后兼容性,其不得不保留许多过时的定义,或者在定义新的架构部分时为了能够将就已经存在的技术部分而显得非常的别扭。久而久之就变得极为冗长。
那么现代成熟的架构是否能够选择重新开始,重新定义一个简洁的架构呢,可以说是几乎不可能。其中一个重要的原因便是其无法向前兼容,从而无法得到用户的接受。试想一下如果我们买了一款新的搭配新的处理器的电脑或者手机回家,之前所有的软件都无法运行而变砖,那肯定是无法让人接受的。
而现在才推出的RISC-V架构,则具备了后发优势,由于计算机体系结构经过多年的发展已经成为比较成熟的技术,多年来在不断成熟的过程中暴露的问题都已经被研究透彻,因此新的RISC-V架构能够加以规避,并且没有背负向后兼容的历史包袱,可以说是无病一身轻。
2、能屈能伸——模块化的指令集
RISC-V架构相比其他成熟的商业架构的最大一个不同还在于它是一个模块化的架构。因此,RISC-V架构不仅短小精悍,而且其不同的部分还能以模块化的方式组织在一起,从而试图通过一套统一的架构满足各种不同的应用。
这种模块化是x86与ARM架构所不具备的。以ARM的架构为例,ARM的架构分为A、R和M三个系列,分别针对于Application(应用操作系统)、Real-Time(实时)和Embedded(嵌入式)三个领域,彼此之间并不兼容。
但是模块化的RISC-V架构能够使得用户能够灵活选择不同的模块组合,以满足不同的应用场景,可以说是“老少咸宜”。譬如针对于小面积低功耗嵌入式场景,用户可以选择RV32IC组合的指令集,仅使用Machine Mode(机器模式);而高性能应用操作系统场景则可以选择譬如RV32IMFDC的指令集,使用Machine Mode(机器模式)与User Mode(用户模式)两种模式。而他们共同的部分则可以相互兼容。
3、浓缩的都是精华——指令的数量
短小精悍的架构以及模块化的哲学,使得RISC-V架构的指令数目非常的简洁。基本的RISC-V指令数目仅有40多条,加上其他的模块化扩展指令总共几十条指令。
RISC-V最适合的领域
对于一些工程团队而言,使用基于RISC-V的处理器实现定制的承诺是很有吸引力的,许多人正在使用RISC-V来取代内部的专用加速器,这样他们就可以利用软件生态系统,因为RISC-V具有高度可扩展性。这些加速器通常对用户是隐藏的,而ARM内核是暴露给软件开发人员的。
Microsemi公司的Marena以Western Digital为例,说道:“他们想要一种特殊的总线和接口。对于他们的情况,则需要一些超出标准化架构的东西。处理器在很多方面都做得很好,但有些事情它们做得不太好。所以,当你寻求特殊功能,想要下一级别的创新的时候,RISC-V便有了用武之地。”
在硬件安全方面也是如此。人们通常认为开源硬件是更安全的,因为它是由更多的人为更多的终端应用开发的。
Rambus公司首席技术官Martin Scott表示:“物联网是非常危险的生态系统,需要保护。从芯片到云,以及中间的任何地方,都存在漏洞。设计中可能存在固有漏洞,这些漏洞连接到不安全的临时全球网络和软件栈。有很多不同的流程(包括业务流程和安全流程)都需要管理,没有中央机构或中央标准。”
斯科特说,有一些实用的方法来处理硬件安全问题,例如使用安全层。但他补充说,开源的一个关键优势在于,人们能够共享关于漏洞在何处出现以及如何解决这些漏洞的信息。“我们使用RISC-V的原因是,我们可以操作ISA以保证安全。这非常重要。微架构的实现和架构本身一样重要,因为从旁路攻击的角度来看,以不同方式完成的等效功能实现可能会产生非常不同的安全问题。”
这正是RISC-V目前正在寻找用武之地的领域。ARM公司嵌入式和汽车战略副总裁Tim Whitfield指出,器件正在向更异构化的方向转变,专用处理器也是如此。“通用的计算方式会变化吗RISC-V围绕该答案所做的创新是好的。专家们一直在深度嵌入式领域使用RISC-V,它正在取代执行非常专业任务的专用内核。这意义重大,因为你可以灵活地操作架构,去做一些琐碎的工作,构建接口。这是目前RISC-V非常适合的地方。”
但UltraSoC首席执行官Rupert Baines表示,考虑到企业在代码、指令集和架构方面的巨额投资,RISC-V还可能通过专有架构获得青睐。“另一个方面是临界质量,开发维持低于临界点(critical mass)的东西可能非常昂贵。对于像英伟达这样的公司,他们有自己完全定制的东西,现在他们已经拥有了RISC-V。他们受益于所有的工具和编译器,这仍然是他们自己的定制,但他们只是降低了开发成本,因为他们可以利用其他的一切。”
Baines说,Andes和Codasip等其他公司正在提供基于RISC-V的内核,并且保持其业务模式不变——它们授权使用内核和开发环境,但由于他们使用通用ISA,所以它们可以利用世界其他地方的投资,达到临界点(critical mass)。
基于RISC-V的处理器已经与SoC中的ARM处理器并驾齐驱,Whitfield希望这种情况能像其他架构一样继续下去。“其他架构已经存在,并将永久存在,无论是提供了人们所需要的类似的架构灵活性的Tensilica,还是RISC-V处理器。它们都与ARM应用处理器和ARM嵌入式处理器共存。”
Davidmann 表示,实际上,大多数不只有一个核心的SoC往往拥有较大的多核应用处理器(如Arm或MIPS)运行主操作系统,如Linux;周围有较小的“minion”处理器(如Andes或其他RISC)运行RTOS和其他内核,或是裸机,以加速应用的性能。
Whitfield补充道:“你必须记住RISC-V是一个架构,到头来就是一张纸。Andes、Codasip,以及其他公司将建立一个微架构。这既昂贵又困难。ARM不仅仅是CPU架构,还是一家IP公司和一个系统解决方案软件生态系统。所以,我们可以共存,这是一种“赢家通吃”的死亡竞赛——这绝对不是零和游戏。其他架构一直都有空间。在有技术意义的地方,我看到了深度嵌入的专有类型。也许将来会有别的东西。ARM没有理由不以某种方式复制同样的优点。处理器可能会有不同的未来,ARM必须开发不同的IP来填补这个空白。”
硅时代的半导体产业有数十年的历史,在摩尔定律的行业铁律下经历了多次产业变革,毫无疑问,在后摩尔定律时代,RISC-V是否将推动新一波浪潮。