![高性能超标量CPU:微架构剖析与设计](https://wfqqreader-1252317822.image.myqcloud.com/cover/287/47684287/b_47684287.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
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。
![](https://epubservercos.yuewen.com/C268A8/27087848904066006/epubprivate/OEBPS/Images/26_01.jpg?sign=1738840597-gZc1H2lp0NqDMmjmyR68k28mkSmTQmyp-0-a5e8692e26256718b5c55febf1d04c8a)
· 图1-6 RISC-V指令集寄存器
在汇编语言中,通用寄存器组中的每个寄存器都有别名,见表1-4。
表1-4 RISC-V寄存器用途
![](https://epubservercos.yuewen.com/C268A8/27087848904066006/epubprivate/OEBPS/Images/26_02.jpg?sign=1738840597-gt2aB0LmIfo7DzFMFn8dXZ8xmEMrVv6e-0-91a0ee3848c8a72b5078e0eb2a33f6a7)
RISC-V指令集架构定义了三种工作模式,又称特权模式,见表1-5。特权级别用于为软件堆栈的不同组件之间提供保护,若执行当前特权模式不允许的操作将会导致异常。这些异常通常会导致陷阱,进入底层执行环境。
表1-5 特权模式
![](https://epubservercos.yuewen.com/C268A8/27087848904066006/epubprivate/OEBPS/Images/27_01.jpg?sign=1738840597-Q3xw2kho4arkdx16pinjSMrTan7ki0MQ-0-b46c7e8028eec1514c7713c31ebb5d1a)
其中机器模式为必选的模式,其他两种为可选模式,通过不同的模式组合可实现不同的系统。RISC-V一套指令集几乎可以支持从嵌入式CPU到高性能通用CPU等所有类型,例如:
· 仅有机器模式的,通常为嵌入式系统。
· 支持机器模式与用户模式的系统,可以实现用户模式和机器模式的区分,实现资源保护。
· 支持机器模式、监督模式与用户模式的系统,可以实现类似UNIX的操作系统。