来源:内容由半导体行业观察(ID:icbank)原创,作者:李寿鹏,谢谢。
回顾过去几年的集成电路产业里,RISC-V是一个绕不过去的热词。
作为一项以“开源”为卖点的技术,RISC-V自面世以来,就在相对古板的处理器设计领域激起了不小的浪花。
由于RISC-V的开源特性造就了一个相对全面的处理器研究基础,很多对新技术有追求的从业者开始投入到这个阵营当中。
尤其是进入最近两年,因为美国对中兴和华为的制裁,引起了国内对供应链的担忧,为此不少人把RISC-V看作本土处理器的救命稻草。
据RISC-V基金会网站显示,截止到2020年5月8日,RISC-V基金会共有会员193家,其中来自中国大陆地区的会员约为33家(不完全统计),占比为17%,当中不泛华为和中兴微这样的芯片“前辈”,也有嘉楠云智、比特大陆、睿思芯科和芯来科技这些新玩家。
在这些企业的推动下,RISC-V获得了蓬勃发展的态势。
据分析机构Semico Research在去年年底发表的报告,预计到2025年,市场将总共消费624亿个RISC-V CPU内核,其中预计工业领域将是最大的细分市场,拥有167亿个内核。
Semico预测,在包括计算机,消费者,通讯,运输和工业市场在内的细分市场 ,RISC-V CPU内核的复合年增长率(CAGR)在2018年至2025年之间的平均复合年增长率将高达146.2%。
虽然前景被无限看好,那么RISC-V的现状究竟如何?
RISC-V到底开源了什么?
我们很多人在谈RISC-V的时候,基本都说RISC-V是一个开源处理器,这就让不少人就误以为RISC-V处理器都是开源的。
要解析这个问题,我们就得从RISC-V的起源说起。
根据RISC-V基金会的资料,RISC-V起源于伯克利大学的一个研究。
2010年5月,Krste Asanović教授和研究生Yunsup Lee和Andrew Waterman启动了RISC-V指令集。
该指令集是属于UC Berkeley 并行计算实验室(Par Lab)的一部分,而行业大拿David Patterson教授则是该中心的主任。
由于RISC-V ISA本身并不代表任何新技术,因此在任何这些项目中都没有与RISC-V相关的专利申请。
值得一提的是,在Per Lab,还开发了用于设计许多RISC-V处理器的硬件构造语言。
在RISC-V指令集被发明了以后,包括DARPA资助的研究项目计划在内的众多项目开始使用这个指令集。
而在RISC-V的发展过程中,除了DARPA外,还有很多公司都提供了资助。
根据美国政府向大学提供资助的相关规定,允许受资助者将资助工作的研究成果发表在公开文献中,并让全世界的公众都可以使用。
而政府保留使用研究中开发的任何技术的权利。
相关规定强调,除非在资助时明确说明,否则不会限制该技术。
基金会还指出,RISC-V 指令集是免费开放的,并具有允许任何人使用的许可证。
设计师可以自由地开发专有的或开源的实现,以用于他们认为合适的商业或其他开发。
但他们强调,使用RISC-V商标需要获得RISC-V International成员的许可,以实现程序的兼容。
因为RISC-V规范虽然是基于一种结构,但该结构可通过模块化扩展和其他自定义指令/扩展实现灵活性。
如果一个实现是基于RISC-V规范的,但如果包括了框架之外的修改,则不能将其称为RISC-V。
回看RISC-V指令集发展历程,根据中国开放指令生态联盟题为《
开放指令集与开源芯片发展报告》,第一版RISC-V指令集在2011年5月发布,该指令集设计非常简单,采用了基础指令集与扩展指令集的方式。
基础指令集只包含了不到 50 条指令,但已经可以用于实现一个具备定点运算和特权模式等基本功能的处理器。
扩展指令集提供了一些常用的原子操作指令、浮点运算指令等,用户也可以需要自身需求进行自定义。
这样,这套指令集既保留了“简单”这个大优点,又赋予了用户足够的灵活性。
伯克利的研究团队在发布时还做了两个重大的决定:
一是将新的指令集命名为 RISC-V(读作 RISC-Five);
二是将 RISC-V 指令集彻底开放,使用 BSD License 开源协议设计了开源处理器核 Rocket。
伯克利研究团队认为,指令集 ISA 作为软硬件接口的一种说明和描述规范,不应该像 ARM、PowerPC、X86 等指令集那样需要付费授权才能使用,而应该开放(Open)和免费(Free)。
报告进一步指出,伯克利选择的 BSD 开源协议给予使用者很大自由,允许使用者修改和重新发布开源代码,也允许基于开源代码开发商业软件发布和销售。
因此 BSD 开源协议对商业集成很友好,很多的企业在选用开源产品时都会首选 BSD 开源协议。
于是,一套全新的开放指令集 RISC-V 诞生了——全世界任何公司、大学、研究机构与个人都可以开发兼容 RISC-V 指令集的处理器,都可以融入到基于RISC-V 构建的软硬件生态系统,而不需要为指令集付一分钱。
开源≠免费
正如前面所说,使用RISC-V本身的基础ISA是不用钱的。
第一,通过自由市场竞争来促进大量创新的产生,当中包括指令集体系结构的开放实现(相对专有实现而言);
第二,实现贡献的开放处理器核设计,通过设计复用降低成本,缩短上市时间,因为有很多设计者参与和检验,这又减少了设计上的错误。此外,因为设计的透明性,政府机构基于此设置秘密后门变得更加艰难;
第三,处理器价格能够被更多应用所接受,这有利于拓展低价的物联网市场。
开源带来的好处不言而喻,但我们也必须清楚认识到开源≠免费。
在文章前面我们讲到,RISC-V开源的只是ISA,能免费试用的也只是那些基础指令。但现在市场上的RISC-V IP供应商在做的基本都是经过扩展设计的产品,根据RISC-V基金会的介绍,这些成果当然是可以开源出来,但他们将其做成一个商用产品,这也是没有任何问题的。
为了更详细地解析这一点,我们以Arm的授权模式来举例说明。