![高性能超标量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=1739253202-HmIg95F6rLwtjdol195GGWzQohwuOl0g-0-a83ad3b8f11905d8477e021d6855311b)
· 图1-6 RISC-V指令集寄存器
在汇编语言中,通用寄存器组中的每个寄存器都有别名,见表1-4。
表1-4 RISC-V寄存器用途
![](https://epubservercos.yuewen.com/C268A8/27087848904066006/epubprivate/OEBPS/Images/26_02.jpg?sign=1739253202-EJMhQhiRcn7oywZxfeyligk66l3tnjTl-0-5f0d38a10bc9c18d4750bdba99642e1c)
RISC-V指令集架构定义了三种工作模式,又称特权模式,见表1-5。特权级别用于为软件堆栈的不同组件之间提供保护,若执行当前特权模式不允许的操作将会导致异常。这些异常通常会导致陷阱,进入底层执行环境。
表1-5 特权模式
![](https://epubservercos.yuewen.com/C268A8/27087848904066006/epubprivate/OEBPS/Images/27_01.jpg?sign=1739253202-UHzIkrvFFWg7hyad3BoRoZA2ZY9xB8sB-0-ff47b1d5156579d7e9e2f006ee08daee)
其中机器模式为必选的模式,其他两种为可选模式,通过不同的模式组合可实现不同的系统。RISC-V一套指令集几乎可以支持从嵌入式CPU到高性能通用CPU等所有类型,例如:
· 仅有机器模式的,通常为嵌入式系统。
· 支持机器模式与用户模式的系统,可以实现用户模式和机器模式的区分,实现资源保护。
· 支持机器模式、监督模式与用户模式的系统,可以实现类似UNIX的操作系统。