RIAC-V架构开发——CSR指令访问控制与状态寄存器的两种方式(寄存器名字、寄存器编号)

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》;