新型处理器指令集架构(ISA)确实很少出现。但是,在加利福尼亚大学伯克利分校实验室中研发的开源RISC-V ISA却在嵌入式行业引起了极大轰动。广受关注的RISC-V ISA是在下述前提下得到开发,即任何设计人员都可以用它来创建处理器内核和软件编译器。该项目现在由RISC-V基金会管理,其成员包括众多大学和跨国技术公司(最著名的一些公司包括Google、IBM、Microsoft、NVIDIA和Oracle等)以及芯片制造商和初创公司。
RISC-V的目标是从其他处理器ISA的错误中得到学习提高,关键是稳定性,包括对于指令集和内核,以及芯片设计师、编译器制造商、操作系统设计师和开发工具供应商,这对于鼓励尽可能多的工程师参与整个生态系统,并使用此类开源技术,同时让强大的处理器内核更易于访问和使用至关重要。应用开发人员可以凭借最少的内存占用量和功耗能够为冻结的ISA优化其代码,但仍具有可扩展性,并与未来的设备兼容。这使处理器核心开发人员能够处理指令集的各种不同实施方式,从简单的管道到具有多种状态和无序执行的管道。这些具有不同延迟、大小和功耗,但彼此之间以及与生态系统中包含的工具都具有内在的兼容性。
在整个生态系统中提供这种稳定性是新指令集的关键部分。设计该功能时考虑到了32位、64位和128位地址空间,因此可以保持它们之间的兼容性。该体系结构还设计有可扩展功能,以提供芯片制造商差异化和未来应用方案所需的定制功能,但ISA的根基仍然保持不变。
128位ISA仍然有意未确定,因为到目前为止,在嵌入式系统中使用如此大存储容量的实践经验很少。但是,该体系结构将支持更大地址空间这一事实突显了此处采用的前瞻性方法。所有这些意味着为RISC-V编写或移植到RISC-V的软件将永远在所有类似的RISC-V内核上运行,从而为软件经理打下坚实基础,能够保留住其对软件的投资。由于ISA为开放式,可以开发多种硬件实现,因此软件架构师可以在最终的硬件实现中发挥更大影响力。
对于硬件设计人员的输入使RISC-V内核更加以软件为中心,这导致了范围更加广泛的处理器内核能够实现ISA,以及围绕这些内核的许多片上系统(SoC)器件。内核由Codasip、Syntacore、Hex Five和T-Head等开发,SiFive则推出了一系列32位和64位SoC。
由Yunsup Lee(RISC-V的最初创建者之一)共同创立的SiFive在2017年为其SoC平台系列推出了首个RISC-V内核,增加了对内核和芯片的支持。这些器件基于28纳米工艺,用于64位多核Linux实施,或者基于180纳米工艺,用于面向低成本物联网市场,并有各种外围设备的32位器件。
图1:SiFive的U500 64位多核开源处理器。
该公司的Freedom平台包括完整的软件规范,支持操作系统的板级支持包(BSP)、开发板和基础芯片,使客户可以创建自己的芯片级增强功能和定制产品。Freedom U500系列是具备完全Linux功能的嵌入式应用处理器,拥有多核RISC-V CPU,运行速度为1.6GHz或更高,并支持机器学习、存储和网络等应用所需的加速器和缓存一致性。该系列还支持标准的高速外围设备,包括PCIe 3.0、USB 3.0、千兆以太网和DDR3/DDR4等。
图2:采用RISC-V ISA的E300系列开源32位微控制器。
Freedom E300系列嵌入式微控制器专门设计面向IoT和可穿戴设备市场。基于Freedom E310,与Arduino兼容的HiFive1 RISC-V开发套件集成了SiFive的高性能32位RV32IMAC内核E31 CPU Coreplex,能够在超过320MHz的频率下运行。
图3:HiFive1 RISC-V开发套件。
SiFive还将RISC-V指令集用于据称是世界上最小的嵌入式处理器内核。S2内核IP系列是一个可配置内核,可小至13,500门(RV32E 32位版本情况下)。S21 64位嵌入式内核具有独立的指令和数据总线,以及两排紧密集成存储器(TIM)。这使该SoC具有可始终开启的低功耗32位CPU,也可以将其与高端64位CPU结合使用,在应用要求更高性能时(例如语音激活的智能设备),高端64位CPU可以开启。此类开发有助于满足互联设备中对机器学习和IoT日益增长的需求,在这些设备中,实时工作负载会在边缘网路产生对于明显增强的嵌入式智能的巨大需求。
RISC-V的开放源代码属性已为Kendryte、efabless和low RISC等初创公司启动了SoC设计,但更多的主流芯片厂商也正在使用该技术。Microsemi(现在已被Microchip收购)已经为SiFive生产了一些开发板,而NXP则开发了自己的RISC-V芯片。Andes Technology和Greenwave公司也围绕ISA开发了IC,Faraday Technology已将ISA用于ASIC平台,以设计和批量生产下一代边缘AI和IoT SoC。它结合了RISC-V核心IP集成和SoC设计验证,以及由实时操作系统(RTOS)和外围设备驱动器组成的全功能参考设计套件,所有这些器件均采用55纳米工艺,可用于电池供电的边缘设备。这突现了硬件制造商如何基于标准ISA进行差异化设计。Faraday Technology在平台中包括了动态电压和频率缩放(DVFS)、电源模式切换和快速系统唤醒等功能,而且可以安全地包含软件库和驱动程序,以确保芯片在实现特定接口、感测以及电源管理功能时可无缝地工作。
工具
RISC-V ISA 的另一个优势是它能够与各种工具一起使用。Microsemi在其FPGA中使用了ISA,并集成了一系列嵌入式操作系统,如Express Logic的 ThreadX、华为的LiteOS以及Micrium µC/OS-II。电路板包括RTG4开发套件、PolarFire评估套件等,其中还包括来自Microsemi 和 Olimex 的调试加密狗、第一级引导加载器和多个软件外设。GitHub上还提供有驱动程序、固件和项目示例。另一个受益于这种稳定性的工具公司是 UltraSoC,它开发可嵌入到SoC中的硬件来监视活动,这可用于更有效地调试芯片,甚至用于现场监控。UltraSoC还一直在与Andes合作,将监控硬件集成到高端AndesCore处理器IP,并集成到Esperanto Technologies的 AI"片上超级计算机(supercomputer-on-a-chip)"中,其中使用了数千个RISC-V内核。Esperanto Technologies工程团队由曾经开发SPARC RISC处理器的RISC先驱Dave Ditzel领导。去年9月,Esperanto Technologies使用RV64GC 64位ISA完成了名为ET-Maxion的10级高性能内核RTL,预计将在2019年下半年完成样片,2020年年中左右实现生产,并可完成更小、更节能的64位内核ET-Minion。该内核采用具有多线程指令的有序管道,并添加了一个矢量浮点单元,支持图形扩展和Google 的Tensor AI指令,这些都计划采用领先的7nm工艺。所有这些都采用了基于RISC-V ISA的单一工具链(也包括测试和验证工具)构建。所有内核被整合在片上超级计算机中,具有16个Maxions 和4096个Minions,在Maxion内核上运行的是Linux和其他高级软件,同时将AI密集型载荷委派给 Minions。通过在所有器件上使用相同的ISA,实现这一切都变得非常容易,从而突显了RISC-V方法的价值。
RISC-V的挑战
虽然RISC-V相关的开发和应用方面已经取得了长足进步,但前面还有一些障碍。普林斯顿大学的研究人员发现了RISC-V开源处理器内核的一些缺陷,他们认为这些缺陷关系重大。他们发现,在RISC-V处理器体系架构的变体中有100多个错误,涉及错误存储和从内存中检索信息的顺序不正确,如果不纠正,可能会导致RISC-V芯片上运行的软件出现问题。RISC-V基金会表示,这些错误不会影响大多数版本的RISC-V,但对于高性能系统来说,这些错误可能问题更加突出。
通过使用跨跃32位、64位甚至128位(未来出现时)地址空间的通用冻结ISA,无论是用于研究项目、IoT 节点还是片上超级计算机,内核开发人员可以专注于特定处理器的实现。所有这些都使用相同的编译器、相同的开发工具和相同的调试工具,从而可以最大限度地减少碎片化,并允许公司不断提升性能基准,而不必担心维护具有多个内核的多个软件产品。当然,所有这些软件都基于开源代码,能够将改进意见反馈给行业。扩展允许实现差异化和优化,特别是在安全性方面,同时不影响工具生态系统的稳定性。这样,RISC-V 能够使硬件开发人员专注于创新,在软件需求驱动下,满足最终用户在成本、功耗、安全性和性能等方面的要求。
RISC-V能否受到国内MCU厂商的青睐?国内MCU市场上RISC-V是否能够挑战Arm架构MCU?请关注或现场参加“2020全球MCU技术与应用峰会”!
作者:Mark Patrick,贸泽电子
责编:Amy Guan
(本文由贸泽电子供稿,电子工程专辑对文中陈述、观点保持中立)