risc-v 特权指令
CSR 相关指令
SYSTEM主操作码用于编码RISC-V ISA中的所有特权指令。这些指令可以分为两大类:
- 一类是在Zicsr扩展中定义的自动读-修改-写控制和状态寄存器(csr)。
- 一类是所有其他特权指令。
ISA对于标准的RISC-V ISA留出了一个12位的编码空间(csr[11:0]),最多可容纳4,096个csr。
CSR地址的上4位(CSR[11:8])用于根据特权级别对CSR的读写可访问性进行编码。
上面两位(csr[11:10])表示寄存器是读/写(00、01或10)还是只读(11)。
接下来的两位(csr[9:8])编码了可以访问csr的最低权限级别。
部分CSR寄存器:
1. CSRRW:
2. CSRRWI:
3. CSRRS:
4. CSRRSI:
5. CSRRC:
6. CSRRCI:
7. ECALL
8. MRET
参考链接USTC CECS 2023/lab4/priv/