1 RISC-V介绍
RISC表示精简指令集,英文全称是Ruduced Instruction Set Computer
V表示第五代。RISC-V指令集有这些优点:设计简洁、模块化、开源和有丰富的软件生态。
2 RISC-V体系结构的一些基本概念
- 执行环境接口:包括程序的初始状态、CPU的类型和数量、支持的S模式、内存和I/O区域的可访问性与属性、在每个CPU上执行指令的行为以及任何异常(包括中断、系统调用)的处理等。常见的RISC-V执行环境包括Linux应用程序二进制接口和RISC-V管理员二进制接口(SBI)。
裸机程序
操作系统
虚拟化 - 模拟器:在主机上模拟RISC-V的用户模式以及特权模式的执行环境。
- 硬件线程:一个处理器执行线程,在执行环境中自主获取和执行RISC-V指令资源的硬件单元。
RISC-V提供以下3种模式
- 机器模式(M模式):具有对机器的全部访问权限,通常可用于管理RISC-V上的安全执行环境。通常在M模式下运行SBI固件,为操作系统提供服务。
- 特权模式(S模式):通常用来运行操作系统的内核,为应用程序提供服务。
- 用户模式(U模式):通常运行应用程序。
3 SBI服务
SBI对所有RISC-V硬件平台的共性功能做了抽象,为运行在S模式的操作系统提供统一的服务接口。在Linux里,内核空间和用户空间之间多了个系统调用层,SBI就类似于系统调用层。
优点
- 为运行在低级别的处理器模式提供访问M模式下的硬件资源;
- 保证系统稳定和安全;
- 可移植性;
SBI固件运行在M模式,它为运行在S模式的操作系统提供SBI调用服务,而运行在S模式的操作系统为应用程序提供系统调用服务;