碎片化的物联网需求出现后, CISC(复杂指令集)的劣势被放大,在一些场景中 CISC 会出现指令集过于庞大且冗余的情况,比如执行一些简单重复的运算。在这些运算中,RISC(精简指令集)更具有优势。
过往,人们谈论 RISC 的时候,更多是在谈论 ARM(Advanced RISC Machine)架构,然而近来 RISC-V 的呼声开始走高,凭借着开源的模式,RISC-V 让 ARM 感受到了压力。
RISC-V 的发展真如舆论里这般“热闹”吗?下面,我们通过知名嵌入式专家、麦克泰软件公司创始人何小庆老师的分享来探寻答案。
5 月 17 日,何小庆老师在线上讲堂分享题为《RISC-V 处理器嵌入式开发概述》的免费课程,分享他个人对于 RISC-V 技术和产业发展的一些观察与思考。
2010 年,RISC-V 诞生于伯克利大学并行计算实验室(Par Lab) ,开发者为下图中这三位,1 位教授和 2 个研究生。
三人对于 RISC-V 的发展规划大致分为规范和商业两个方向。规范方面,成立 RISC-V 基金会,维护指令集架构的完整性和非碎片化;商业方面,成立 SiFive 公司,推动 RISC-V 的商业化。
何小庆罗列了 RISC-V 基金会在做的部分事情。“RISC-V 基金会非常活跃,自 2015 年成立之后,一直在制定标准和搭建产业生态,目前已经有 325 家付费会员,包括高通、恩智浦、阿里巴巴和华为等。付费会员的好处是可以使用 RISC-V 的 logo。” 他提到:“从发展趋势来看,行业的标准化程度越高,发展的效率越高。”
对于 RISC-V 指令集本身,何小庆认为:“RISC-V 指令集最大的特点就是模块化,也是唯一强制要求实现的指令是由 I 字母表示的整数指令子集。使用该整数指令子集,便能够实现完整的软件编译器。由于 RISC-V 是一种开放的指令集架构而不是一款具体的处理器,任何组织和个人均可以依据 RISC-V 指令集手册和架构设计文档实现自身的处理器设计。”
对此,他分享了开源的 RISC-V 架构处理器核,如下图:
商业的 RISC-V 处理器核(Core IP),如下图:
开源 RISC-V 处理器 SoC 平台(Platform),如下图:
开源 RISC-V 嵌入式处理器,如下图:
商业 RISC-V 嵌入式处理器,如下图:
他还给出了自己的选择建议: ·芯片设计者可选择 RISC-V 核和 RISC-V 处理器平台来构建自己的芯片; ·嵌入式和物联网系统开发者可以使用 RISC-V SoC 芯片和开发板 ·高校可选择开源 RISC-V 核和处理器平台在 FPGA 平台上进行计算体系架构、微机原理、OS、编译技术教学和研究工作。
然后,他总结了 RISC-V 嵌入式应用的现状和问题。“RISC-V 的主战场是嵌入式和物联网,这是不言而喻的。目前,有很多 RISC-V 芯片面向嵌入式和物联网,我们也看到了很多 AIoT 类型的芯片,且已经有通用型的 RISC-V MCU 出现,这让开发者入门变得更简单。”
“当然也有一些不利的因素,通用型的高端的能够运行 Linux 系统的 RISC-V 平台还非常少。工具链还比较繁杂, IP 公司和商业公司都有自己一套工具链,开发者适应起来非常的复杂。另外,生态建设还处于初级阶段。”何小庆指出:“实际上你到会员企业去找 RISC-V 的芯片,我只找到嘉楠勘智的 kendryte k210,是唯一官方宣布的。”
在分享中,何小庆还梳理了围绕 RISC-V 的一些工具链。RISC-V GCC 工具链与普通的 GCC 工具链基本相同,用户可以遵照开源的 riscv-gnu-toolchain 项目中的说明自行生成全套的 GCC 工具链。除了 GCC,何小庆还分享了其他的 RISC-V 工具链,如下图:
RISC-V 的软件生态,如下图:
对于软件支持,他认为:“操作系统方面,RISC-V 应该是蛮成熟的,有不下几十种软件进行支持。”但 RISC-V 在嵌入式开发还有一些方面需要加强。
首先,嵌入式系统需要更多通用开发平台。
第二,RISC-V 应用起飞更需要商业级开源软件。
第三,要有 RISC-V Linux 需要进入 Linux 内核的主线。
最后,RISC-V 要有远大抱负,发展不仅是“芯片数量级”增长,而且需要有数量多、门类全的 RISC-V Inside “产品”,顺带着开发者也就多了起来。