RISC-V 开放源码的指令集架构为芯片公司带来了更务实的选择,超越普通的商业选项,避免承担过度的策略风险,特别是在消费物联网装置上使用的小型嵌入式处理器…


过去十年来,开放源码(open source)软体已经成为科技领域的最佳催化剂。如今,开放源码的力量带来了自由发展,所产生的社群也在硬体世界中得以立足。基于这些原因,RISC-V 赢得了极高的人气。本文介绍 RISC-V 指令集(ISA)架构,以及如何在物联网(IoT)时代改写处理器生态的游戏规则。


什么是 RISC-V?

RISC-V 是一个开放的指令集架构,最初由美国加州大学柏克莱分校(University of California, Berkeley)的电脑科学系开发,主要基于流行的精简指令集运算(reduced instruction set computing;RISC)原则,就和 ARM、MIPS 以及其他常见的商用处理器架构一样。


RISC-V 在 2010 年开始成型,现在已经成长为一个巨大的全球合作计划,横跨多所大学和工业领域。非营利的 RISC-V 基金会(RISC-V Foundation)为其提供了一致性,不仅指导底层 ISA 规范,也扮演市场引擎的角色来推广 RISC-V 途径。


需要澄清的是 RISC-V 的指令集架构,顾名思义是一项指令集的架构规范,而不是一种具体的处理器设计。从开放源码指令集架构开始,很多的学术和产业团队创造了多种不同的处理器设计,但本质上都采用同一种语言。快速浏览 RISC-V 基金会的网站,就可以看到上面展示了大量的处理器实作,从 Rocket、Orca 和 PULPino 等完整的开放源码处理器设计,到生产商业处理器核心的公司,如 SiFive、Codasip、Andes 和 Cortus。


这些当代处理器的实现范围十分广泛,从简单物联网处理器到运行 Linux 的应用处理器,都是基于一套共同的指令集,从而反映出 RISC-V 较封闭式商用 ISA 的关键优势,即差异化和选择的自由,以及可以更换处理器供应商而不至于遭受产品重新架构的痛苦。

 

图 1:RISC-V 包含最小的 32 位元基础指令集,以及一系列可扩展至支援 64 位元、128 位元运算的指令集与其他扩展。


免费的所以一定存在风险?
在这一点上,谨慎的做法是考察实际情况,查看新产品设计中影响处理器选择的因素。如同大多数的设计决策一样,它涉及很多技术和商业因素,有些是基于硬指标,有些则基于难以量化的方面。


技术指标是不言而喻的:包括处理器是否具备足够的马力?支持后续产品的可扩展性?是否匹配功率封包?是否满足所需的安全层级?有没有友好熟悉的软体开发 / 除错环境?用户能否继承之前的程式码库等等。商用标准必须考虑成本,例如面积(包括闸数和记忆体大小)、版税和整个授权费用。它还要考虑其他商务方面的因素,包括供应商锁定、保证与赔偿、商业报告义务、进行修改的合法权利等等。


考虑所有这些因素,大多数设计人员往往采取一种“安全”选项,通常使用一个专有的商用处理器,并且经常绑定在以前使用的系列。然而,站在策略层面来看,很多公司对于选择限制日益增加但强大的商用处理器 IP 供应商感到不安。人们渴望拥有更多的商业自由,打破封闭指令集的锁定,这不光是在授权和版权使用费方面有意义,也有利于实现差异化。


这种需求使得 RISC-V 扬帆起航。RISC-V 开放源码的指令集架构为芯片公司提供了现实的选择,超越普通的商业选项,避免承担过度的策略风险,就如同 Linux、FreeRTOS 和许多其他开放源码的即时作业系统(RTOS)在今天无可争辩的替代了商用作业系统(OS)。特别是在那些消费物联网装置上使用的小型嵌入式处理器上,这种选择非常现实。许多知名的一级(Tier 1)公司,包括 Western Digital (WD)和辉达(Nvidia),已经公开宣布了自家公司的意图,甚至着手展开了大规模的生产。此外,还有更多的公司正在评估 RISC-V,其中一些甚至秘密地开始进行先进的设计。

 

图 2:RISC-V 处理器核心性能比较


例如 CEVA RivieraWaves 的 Wi-Fi 和蓝牙 IP 产品设计。在 RISC-V 的潜力吸引下,这些通讯技术需要一个小型处理器以执行协议堆叠,目标就在于创建一个预先整合的参考平台,让客户自由选择处理器。由于 IP 的架构设计满足超低功耗的操作,即使是先进的无线网路(Wi-Fi)配置,对于处理器马力的需求也很温和。


简单来说,我们需要逻辑闸数少、能源效率高、成熟的处理器,再加上一个熟悉的商用级软体开发环境,可以产生节省芯片面积的精简程式码。该处理器设计必须易于部署(全速执行)在 FPGA 和 ASIC/ASSP 上,而且还必须具备与我们的授权 IP 业务相容的法规架构。


例如,CEVA 选择 20K 闸数的 RISC-V 处理器核心,能够达到 2.44 Coremark/MHz 这个不错的成绩,并且和硬体需求完全吻合。根据内部的性能基准和程式码密集度测试结果显示,已经达到与同级最佳处理器相当的水准。同样重要的是根据我们的经验显示,将一个完整的系统移植到 RISC-V 所需的工作量非常少。


以更复杂的 Wi-Fi 平台为例,用嵌入式 RISC-V 处理器取代商用处理器,只需花费一星期的时间,就完成了整合、模拟和创建一个新的 FPGA 二进位档,实现完整的 RivieraWaves Wi-Fi 展示平台。此外,已经在多个不同商用处理器上进行开发和部署多年的现有协议软体,在两周时间内就能移植到 RISC-V 平台了,包括移植、测试和系统级验证。这一点也不令人意外,多亏了熟悉的 GNU GCC/GDB 和 LLVM 编译器 / 除错器环境。


总的来说,这个专案是一次重大的成功,RISC-V 真正兑现了承诺。