寄存器
通用寄存器
32个整数寄存器,其中 31个通用寄存器 (x1 ~ x31) 存储整数 一个硬件0寄存器 x0 (RV32中,位宽XLEN=32,RV64中,XLEN=64) 32个浮点寄存器 (f0 ~ f31)
特权寄存器
M态
- ISA寄存器
- mstatus寄存器
- xtvec寄存器
- trap授权寄存器
- 中断寄存器mip mie
- mtvec寄存器
- mtime真实时间计数器
- mtimcmp寄存器
- 硬件性能监控计数器
- m[h|s|u]counteren机器计数使能寄存器
- mscratch
- mepc
- mcause
- mbadaddr寄存器
S态
- Sstatus
- stvec寄存器
- Sip sie寄存器
- Supervisor Timers and Performance Counters
- Sscratch Supervisor Scratch Register
- Sepc [ S态程序异常计数器 ]
- Scause [S态原因寄存器]
- sbadaddr寄存器 [Supervisor Bad Address]
- sptbr寄存器 [ Supervisor Page-Table Base Register ]
指令
特权级指令
M态
- trap返回指令
- WFI(wait for interrupt)指令
- reset指令
- None-maskable interrupts 不可屏蔽中断指令
- Physical Memory Attributes PMA
- Physical Memory Protection PMP
- Mbare addressing environment
- Base-and-Bound environments
S态
- M态中有定义过的SRET指令
- SFENCE.VM S态内存管理栅格指令
- S态对Mbare环境的操作
- S态对Base and Bound环境的操作
- Sv32: 页基址32位虚拟内存系统
参考: RISC-V特权级寄存器及指令文档
|