参考资料: ARM与RISC-V的恩爱情仇 ARM与RISC-V架构的区别 第五代精简指令集计算机RISC-V你了解多少? RISC-V能否“重构”芯片产业格局 浅析RISC-V指令集架构
0. 基础知识
CPU的指令集,其实就是指令的合集,那什么是指令呢?就是你吩咐CPU去做的事情。我在这里给大家打个比方:你有一个佣人,你给他下命令做饭、洗碗、端茶、倒水……这就是指令。把所有的指令总结在一起就是指令集。如果指令集里面没有“洗脚”这个命令,那么你下这个命令CPU也不会执行。CPU必须要有指令集才能工作,不同的CPU有不同的指令集,基本上可以分为两种:复杂指令集CISC和精简指令集RISC。
关于CPU的指令集架构,我们最熟悉的应该就是X86和ARM了,需要注意的是它们都不免费。Intel的X86指令集架构除了自家以外只授权给了AMD和威盛(VIA),ARM稍微好一点不过价格也是不菲,一直有“天下苦ARM久矣”的玩笑。
那除了它们俩之外还有其他指令集架构吗?答案当然是有,接下来要介绍的RISC-V就是一个,而且还是开源免费的。
可以说ARM 是商业授权的指令集;RISC-V 是开源的指令集。
想详细了解指令集知识可参考此篇博文:CPU指令集科普:CISC指令集和RISC指令集;ARM指令集和X86指令集对比
1. RISC-V的起源
RISC-V起源于2010年的美国加州大学伯克利分校(USNews世界大学排名第4),当时伯克利研究团队要研发一款CPU,上面我们说过了要研发CPU就需要有指令集,X86指令集授权严格,ARM指令集授权费用昂贵,其他指令集要么老旧要么也需要授权,在这种情况下伯克利研究团队决定从零开始设计一套全新的指令集,也就是我们今天说的RISC-V了。据说当时团队四个人仅用了3个月就完成并发布了第一版指令集。当时第一个版本只包含了不到50条指令,可以用于实现一个具备定点运算和特权模式等基本功能的处理器。
2. RISC-V的特点
-
完全开源,对指令集使用,RISC-V基金会不收取高额的授权费。开源采用宽松的BSD协议,企业完全自由免费使用,同时也容许企业添加自有指令集拓展而不必开放共享以实现差异化发展。 -
简单,这也是RISC-V架构的设计哲学。在处理器领域,X86与ARM架构的发展过程也伴随了现代处理器架构技术的不断发展成熟,为了能够保持架构的向后兼容性,其不得不保留许多过时的定义,导致其指令数目多,指令冗余严重,文档数量庞大,所以操作系统或者开发应用门槛就会很高。而RISC-V架构则能完全抛弃包袱,借助计算机体系结构经过多年的发展已经成为比较成熟技术的优势,从轻上路。RISC-V的规范文档仅有145页,而“特权架构文档”的篇幅也仅为91页。 -
模块化,RISC-V架构不仅短小精悍,而且其不同的部分还能以模块化的方式组织在一起,从而试图通过一套统一的架构满足各种不同的应用场景。用户能够灵活选择不同的模块组合,来实现自己定制化设备的需要,比如针对于低功耗嵌入式场景,用户可以选择RV32IC组合的指令集,仅使用Machine Mode(机器模式);而高性能应用操作系统场景则可以选择譬如RV32IMFDC的指令集,使用Machine Mode(机器模式)与User Mode(用户模式)两种模式。
如果说 ARM 借助IP授权的商业模式,降低了 CPU 设计难度,让信息技术世界进入泛处理器时代,那么 RISC-V 就是以免费开放的开源指令集模式,降低了 CPU IP的设计门槛,让芯片行业进入到一个满是 CPU IP 的时代。
3. RISC-V的现状
RISC-V这几年一直都是比较火的话题,因为同为开源项目,很多人都把他上升到了芯片设计领域的“Linux”地位,在这两年见到的很多芯片设计商业计划书中,RISC-V也是一个频频出现的名词。
依靠开源和免费,RISC-V 非常受大学和科研院所青睐,并有望在教学领域大展拳脚,而这又会给 RISC-V 培养源源不断的后备军。对于商业公司来说,由于 ARM 的授权费昂贵,也有较强的动力去做 RISC-V,避免被绑死在 ARM 上。
RISC-V 目前已经有 200 多家成员,不过所有的技术或者商业模式优势,最终还是要转化成商业成功。目前所有参与 RISC-V 的企业,其实还是小公司居多,或者是大公司的小项目有涉及,还没有特别赚钱的。
不过,RISC-V 也存在一个隐忧,那就是缺乏强有力的主导者,进而导致破碎化的问题。当年的MIPS其实也非常学院派,MIPS阵营的商业公司可以自由添加指令,比如龙芯就以MIPS为基础添加了1000多条新指令,进而形成了自己的指令集 LoongISA。这又使开发软件的时候,即便同样属于MIPS,也必须分为龙芯版和普通MIPS版。
由于RISC-V也允许用户自己加新指令,这就有可能使RISC-V破碎化,也许未来华为、高通、谷歌开发出的 RISC-V 处理器虽然都属于 RISC-V,但却不能跑同样一套软件。毕竟完全开放与自成一脉是一对矛盾,如果无法解决这个问题,恐怕RISC-V很难成长到能与X86和ARM争雄的水平。
4. 总结
最后,引用步日欣老师文章的段落作为最后总结。
关于RISC-V在国内的消息,较为引人关注的是2019年7月,阿里“平头哥”推出的“玄铁910”,属于嵌入式CPU,正是基于RISC-V指令集架构,主要应用场景将会集中在5G、AI人工智能、自动驾驶以及网络通信方面。 当然了,对于一款新型芯片的推出,特别是CPU核心芯片,光有芯片是不够的,更要有产业的支持,形成生态。 生态问题,也是RISC-V同其他RISC,以及CSIC在市场竞争中的焦点所在。这个焦点,也是回答RISC-V究竟面临什么样的机会,能够颠覆或者重构芯片设计行业的终极答案。 就如同Linux,就算功能很完善了,迄今为止也没有颠覆Windows的一统PC的局面。RISC-V也是一样的。 开源,硬件领域的开源,是RISC-V的一个大胆尝试,也是优势所在,借助开源的力量,将从CPU设计、软件开发和支持、外围接口电路,片上系统设计等各个方面促进RISC-V在产业界的推广使用。除了前面提到的“平头哥”,西部数据、英伟达、华米等也都在将RISC-V用在自己的芯片中。 生态正在逐步形成,但任重道远。毕竟面对的竞争对手不但包括独霸天下的X86(CSIC),还有其他RISC强悍厂商(ARM),他们就如同操作系统领域中的微软,已经凭借Windows,建立了稳固的城池。如果没有划时代的产业变革,很难攻城拔寨,只能慢慢渗透。 所以,目前的RISC-V风生水起的,还主要在一些非主流的CPU应用中,比如平头哥的“玄铁910”,属于嵌入式CPU;比如一些低成本、超低功耗应用设计等等。 正如芯原微在招股说明书中说的那样,RISC-V、MIPS和PowerPC相继开放其指令集架构,由于三种指令集各有自己的特色和典型应用领域,三者既有一定的竞争,也可相互依存。这种前所未有的指令集开源模式,给芯片设计者带来了广泛的自由和选择的机会,除了降低芯片的设计门槛,并从一定程度上降低芯片的设计成本之外,会给半导体工业带来前所未有的发展活力,促进半导体设计领域的重大创新和发展。 大而全有其存在的理由,小而精也有其生存空间,这就是RISC-V的未来。
|