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

1、CSR指令介绍

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

(1)CSR,即Control and Status Register,控制与状态寄存器,属于CPU自带的一类寄存器,csr寄存器采用12bit编码,共支持4096个csr寄存器,其中RISC-V架构规定占用了部分地址,剩下的地址可自由分配;
(2)CSR指令是专门用来访问csr寄存器的,具体指令格式见上图;

2、csr指令访问csr寄存器的两种方式

/* 设置异常向量表地址 */
csrw mtvec exception_vector	//使用寄存器名字

csrw 0x305 exception_vector	//使用寄存器编号,其中0x305就是mtvec寄存器的编号

3、从哪里知道寄存器编号?RIAC-V架构开发——CSR指令访问控制与状态寄存器的两种方式(寄存器名字、寄存器编号)_第3张图片

(1)在RSIC-V架构的特权级描述手册里有说明,《riscv-privileged-20211203.pdf》;

你可能感兴趣的:(#,RISC-V体系结构编程与实践,RISC-V架构)