RISC-V技术生态发展趋势及未来展望

2024-07-29 00:00柳耀勇王研博杨龙波刘勇石明洋
中国信息化 2024年6期

一、引言

芯片已广泛应用于智能手机、计算机、汽车、医疗设备等领域,推动世界数字化发展进程。芯片的制造和设计已成为现代科技竞争的核心领域,各国都在争夺领先地位。

目前指令集架构包括复杂指令集架构(CISC)x86,精简指令集架构(RISC)ARM、MIPS、RISC-V等。RISC-V是一套开放标准指令集架构,具有开源、指令精简、模块化、可扩展的特点,已形成与Intel X86、ARM竞争的格局。

RISC-V作为新兴的开源指令集架构,其内核技术已相对成熟,但要在市场上得到用户认可,技术生态的完备性是必不可少的。与成熟的X86和ARM相比,RISC-V发展时间相对较短,生态还相对不够成熟稳定。

“先见森林,后见树木”,本文介绍RISC-V指令集架构优势和构成,从宏观角度描述整个芯片产业生态技术体系,描述行业发展趋势和技术创新方向,力图读者对RISC-V的发展有全面认识。

二、RISC-V ISA指令集架构

(一)RISC-V指令集架构优势

ISA指令集架构是一套规范体系,除了一般意义上的指令集合,还规定指令集的结构和组织方式,包括指令集特性、操作数形式、内存模型、特权模式、异常处理等。ISA定义一套标准接口,使软件可以在具有相同ISA不同处理器之间互相移植,无需关注底层处理器的具体实现。

RISC-V ISA在设计之初,就秉承精简和开放的理念。与ARM和X86等传统指令集架构相比,RISC-V没有沉重历史包袱,设计可以更加专注精简和高效。此外,RISC-V从其他指令集发展历史中吸取成熟经验,避免走弯路,直接形成符合时代需求的指令集架构。

在商业方面,RISC-V ISA是开放且免版税,任何组织和个人均可以从其知识产权中受益。使全球众多企业和个人参与到RISC-V开发中,推动RISC-V快速发展;另一方面也使RISC-V芯片在全球范围内自由流通,进一步扩大了RISC-V应用范围。

在技术方面,RISC-V具有模块化、可扩展的特点,指令集模块可以根据用户需求自由组合,并允许扩展。这种设计使RISC-V可以灵活地适应场景需求,高效地进行性能优化和功能扩展。

(二)RISC-V非特权架构

RISC-V非特权架构定义了在没有特权级别情况下,RISC-V指令集架构的行为和功能。非特权架构允许用户程序直接访问内存和寄存器,但不允许用户程序修改特权级指令或控制处理器和内存等资源。非特权架构包括非特权指令和非特权状态执行环境。非特权指令可以执行所有非特权操作,包括算术和逻辑指令、寄存器访问指令、内存访问指令等。执行环境包括处理器状态和控制寄存器,以及内存和I/O空间。非特权架构还定义了异常和中断处理机制、系统调用接口以及自定义扩展指令等。

RISC-V非特权架构规范中所包含的ISA模块包括基础和扩展两大类,基础类ISA模块为处理器必须实现的部分,扩展类ISA模块则可以根据实际需求进行组合。

(三)RISC-V特权架构

RISC-V特权架构定义了处理器在特权级别下使用的指令和功能,包括一系列特权指令和特权扩展,这些指令和扩展用于支持操作系统运行和与外部设备交互。特权架构还定义了如何访问物理内存和寄存器,以及如何处理异常和中断等。

RISC-V特权架构ISA模块包含三个基础ISA即Machine ISA、Supervisor ISA和Hypervisor ISA,分别对应机器模式、监督模式和虚拟化模式三种特权模式,除此之外,RISC-V还支持用户模式。机器模式具有最高权限,在该模式下具有对内存、IO等所有底层资源完全的使用权限,所有RISC-V处理器均需要支持该模式;用户模式是最低级别特权模式,仅能使用最基本指令,并且资源访问也非常受限。通过机器模式组合虚拟化模式、监督模式和用户模式,满足不同安全需求的处理器设计。

三、RISC-V技术生态

RISC-V技术生态结构大致如下:

RISC-V ISA处于基础核心层,联结芯片硬件和软件;

芯片实现由芯片设计、芯片制造、封装测试流程实现;

软件层处于中间支撑层;

应用通过设备形成实体,提供给最终用户。

(一)芯片实现生态

芯片生产流程包括芯片设计、芯片制造、芯片封装和测试等多个产业链环节,芯片设计需要EDA软件,在无实物、满足代工厂工艺要求下,可靠、高效的完成芯片设计工作。

1.EDA软件

EDA全称为电子设计自动化(Electronic Design Automation),为芯片设计工程师提供开发工具及平台,辅助工程师完成芯片设计、制造、封装、测试等整个流程的计算机软件工具集群。目前主要由Synopsys、Cadence和Mentor公司占据市场主要份额。

随着越来越多企业采用RISC-V架构,企业在创新方面也提出更高要求,这种变化为国内EDA厂商提供新的机遇,国内EDA厂商能够提供更好的技术支持和服务,帮助国内芯片设计企业提升设计效率和降低成本,在此大环境下,国内涌现出一批EDA厂商包括华大九天、广立微、芯和半导体等。

2. RISC-V IP

RISC-V内核IP基于RISC-V ISA开发。由于RISC-V ISA的特点,RISC-V内核IP具有高效、灵活和可定制化的优势。目前已有多款商业RISC-V IP,包括晶心科技N22/ N25F/D25F/N45/D45系列,芯来科技N100/N200/N300/ N600/N900系列,赛 科技 ·天枢-90与 ·天枢-80,以及平头哥玄铁系列。基于商业IP,芯片厂商可以快速推出AI、MCU、通信、蓝牙等芯片。

开源RISC-V 内核IP有Rocket、C-SKY、Freedom、Boom等,开源RISC-V内核IP在学术研究中发挥巨大作用,为学术界提供了一个灵活、可定制的研究平台,研究者可以根据自己的需求和目标,进行深入研究和实验,探索新的设计理念和实现方法,推动芯片各项技术发展。

(二)软件生态

目前RISC-V软件生态在基金会和众多开发者推动下快速进入成熟期,从底层驱动到上层应用、周边工具,适配程度已经相对完善。

1. 模拟器

模拟器是一种软件程序,可以模拟处理器的行为和功能,提供虚拟计算机系统环境。通过模拟器,开发人员可以在虚拟环境中测试和验证处理器的指令集设计和硬件平台。

目前主流模拟器QEMU、SPIKE、Sparta等均已经支持了RISC-V,并且随着RISC-V规范更新而不断演进,各个内核厂商也有支持自家内核的专用模拟器。南京大学开源项目NEMU模拟器,因其简单高效调试方便,在香山处理器项目中得到了应用。

2. Bootloader

Bootloader是嵌入式系统启动时首先运行的一段代码,主要负责硬件初始化,如内存、屏幕等,并将操作系统内核映像从硬盘上加载到RAM中,跳转到内核入口点,启动操作系统。

RISC-V目前已适配了常见bootloader项目如uboot、Coreboot、BBL,同时RISC-V官方提供了符合RISC-V SBI规范的开源参考实现——OpenSBI,实现机器模式下的特定固件引导操作系统,管理监督模式、用户模式特权等级下的程序。

3. Hypervisors

Hypervisors,也称为虚拟机监控器,它允许在一个物理硬件平台上同时运行多个隔离的虚拟环境。这些虚拟环境通常被称作虚拟机(VMs),每个虚拟机都运行着自己的操作系统和应用程序,但共享物理硬件资源。

RISC-V的Hypervisors ISA专门用于处理虚拟化场景,通过虚拟化监督模式架构,以支持在I型或II型的虚拟机上高效管理客户操作系统。目前KVM、RVirt、Xvisor等虚拟机程序已经完成了适配。

四、未来趋势展望

(一) 向高性能领域迈进

目前,全球基于RISC-V的处理器已超过100亿颗,涉及物联网、AI、汽车电子、消费电子等领域,但在手机移动终端、服务器等领域,依然没有看到RISC-V的身影,RISC-V生态各参与方已开始向高性能产品领域拓展。

(二) 开源生态日趋繁荣

基于RISC-V指令集的开源生态,将芯片设计门槛降低几个数量级:3-5人的小团队在3-4个月内,只需几万元便能研制出一款有特点的芯片,这吸引了大量人员投入芯片产业。中科院计算所开展了“一生一芯”计划、开源高性能RISC-V处理器“香山”项目、芯片敏捷设计云平台SERVE、开源EDA工具链、SNN扩展指令集等工作。复旦大学韩军教授团队基于OpenXuantie RISC-V处理器进行DSA敏捷开发方法与实践。腾讯公司高剑林团队探索芯片设计交付过程中的敏捷设计,包括芯片架构和建模的敏捷探索、验证过程中敏捷验证(混合验证)、芯片交付后敏捷适配业务和落地。在中国芯片发展大背景下,一批批企业和从业者在积极推进RISC-V开源生态建设,这也将推动我国芯片行业、数字经济产业的发展与繁荣。

作者单位:柳耀勇,王研博,杨龙波,刘勇 芯昇科技有限公司

石明洋 中国移动通信集团北京有限公司