百由工场
关于 RISC-V 的思考 2020年
鲁义明 2020.4

  RISC-V 是加州大学伯克利分校研发的一套开源 CPU 指令集(架构),并拥有知识产权。类似的指令集还有 i386、ARM、MIPS 等等。

  CPU 指令集在产品构成中、产业链中的位置和意义:只要 C/C++(包括 Java 虚拟机)等等高级语言的源代码(包括操作系统和应用程序),被编译器编译成这种指令集的二进制可执行文件,就可以在符合这个指令集的CPU芯片上运行。

  商业意义:如果你生产销售具有 RISC-V 指令集的 CPU 芯片,RISC-V 官方不会管你(官方文档中的原话是保证不起诉你)。如果类似情况在别的指令集上发生,Intel 公司会起诉生产销售符合 i386 指令集的芯片公司;ARM 公司会向生产销售符合 ARM 指令集的芯片公司(如几乎所有的手机 CPU 芯片公司,高通、海思、联发科,以及 MCU 芯片公司,如意法半导体,等等)收费。

  对产业链的各环节的影响如下:

  大学和研究机构:可以用这一套指令集教学生 CPU 设计课程了,并且以此为基础进行 CPU 相关方面的理论研究以及优化。

  CPU 芯片生产厂家:可以研发生产和销售符合这套指令集的 CPU 芯片了,不用担心被起诉,但要注意其他拥有相关专利公司的起诉。而至于研发生产出来的 CPU 芯片好不好用,性能如何,质量如何,价格如何,营销怎么做,那是企业自己在芯片生意方面的能力问题了。无论是完全自研芯片,还是在 FPGA 上跑,都自己随意,只要能卖出去,能活下去。

  CPU 芯片用户厂家:只要自己的产品(系统)能在一个 RISC-V 的芯片(开发板)上跑成功,自己就可以随便选择符合 RISC-V 指令集的芯片制造商与供应商。这相当于有了一个通用的标准接口(类比一下软件中的操作系统的 C 库接口或 POSIX 接口)。这方面显然会让 CPU 用户厂家在价格、性能、质量、供货周期等等方面有更多选择(这对于扩大市场很有意义)。

  CPU 芯片自研用户厂家:是的,比如西部数据在自己的硬盘控制器中用了自研的 RISC-V 芯片。这个做法可能会让很多需要 CPU 芯片的公司开始自研 CPU(而不用担心被起诉用了大家熟悉的指令集)。这个情况会有点像开源软件,(互联网)软件用户大厂最后变成了软件研发大厂,并成为推动软件行业前进的主要力量。

  软件(开源)团队和商业公司:主要对基础软件,包括编译器(如 GCC、CLANG/LLVM 等),调试器(如 GDB 等),操作系统(如各种 RTOS、GNU/Linux、BSD 们),仿真器(如 QEMU 等),等等,有点影响,需要在他们的软件中增加对一种新 CPU 指令集(以及体系架构)的支持。而对于应用软件,几乎没有什么影响。

  总体来说,RISC-V 是高校里面的高手用技术促进 CPU 芯片工业发展的一种做法(类似麻省理工学院的某个疯子,Richard Stallman,用开源软件促进软件工业的发展)。至于会走成什么样,我们可以跟着芯片工业的发展看看。另外,如果有机会的话,也自己设计加定制一个 CPU,给公司内部,或者给客户,用一下,看看会不会效果更好一点。

  简单预计一下未来。就像没有互联网的大发展,大概就不会有开源软件(也就是互联网大厂自己定制修改开源软件)的大发展一样,未来,如果没有物联网的大发展,可能也不会有开源 CPU 芯片(物联网厂家对于芯片的定制以及升级)的大发展。

关于我们  |  联系方式  |  粤ICP备19086705号