- 高性能超标量CPU:微架构剖析与设计
- 李东声等编著
- 504字
- 2023-11-02 20:01:11
1.3.1 寄存器结构与特权模式定义
RISC-V指令集架构支持32位、64位和128位模式,相应的寄存器位宽为32-bit、64-bit和128-bit。如图1-6所示,RISC-V指令集中有32个整数寄存器x0~x31。其中x1~x31为通用寄存器,保存了整数数值,寄存器x0被预留为常数0,在硬件实现中被固定连接为了0。如果需要实现浮点扩展,则需要另外一组独立的浮点寄存器f0~f31。对于RV32模式,寄存器的宽度为32-bit;对于RV64模式,寄存器的宽度为64-bit;对于RV128模式,寄存器的宽度为128-bit。
· 图1-6 RISC-V指令集寄存器
在汇编语言中,通用寄存器组中的每个寄存器都有别名,见表1-4。
表1-4 RISC-V寄存器用途
RISC-V指令集架构定义了三种工作模式,又称特权模式,见表1-5。特权级别用于为软件堆栈的不同组件之间提供保护,若执行当前特权模式不允许的操作将会导致异常。这些异常通常会导致陷阱,进入底层执行环境。
表1-5 特权模式
其中机器模式为必选的模式,其他两种为可选模式,通过不同的模式组合可实现不同的系统。RISC-V一套指令集几乎可以支持从嵌入式CPU到高性能通用CPU等所有类型,例如:
· 仅有机器模式的,通常为嵌入式系统。
· 支持机器模式与用户模式的系统,可以实现用户模式和机器模式的区分,实现资源保护。
· 支持机器模式、监督模式与用户模式的系统,可以实现类似UNIX的操作系统。