1、CSR指令介绍
(1)CSR,即Control and Status Register,控制与状态寄存器,属于CPU自带的一类寄存器,csr寄存器采用12bit编码,共支持4096个csr寄存器,其中RISC-V架构规定占用了部分地址,剩下的地址可自由分配;
(2)CSR指令是专门用来访问csr寄存器的,具体指令格式见上图;
2、csr指令访问csr寄存器的两种方式
c
/* 设置异常向量表地址 */
csrw mtvec exception_vector //使用寄存器名字
csrw 0x305 exception_vector //使用寄存器编号,其中0x305就是mtvec寄存器的编号
3、从哪里知道寄存器编号?
(1)在RSIC-V架构的特权级描述手册里有说明,《riscv-privileged-20211203.pdf》;