RISC-V寄存器介绍。
RISC-V的寄存器分为一般寄存器和控制状态寄存器(CSRs)。
一般寄存器。
对于一般寄存器,有以下32个通用寄存器以及一个pc寄存器。
CSR
控制状态寄存器有很多,最多能有4096个。以下为控制状态寄存器分类。
RISC-V指令集介绍。
RISC-V指令集是2010年由UCBerkeley提出的开源指令集。其中基本指令集有RV32I,RV64I,RV128I,RV132E。我们主要讲解RV32I,其它基础指令集类似。除了基础指令集之外还有拓展指令集。有机会之后讲解。
RV32I的指令集分为以下六种类型。
其中具体的指令由opcode、funct3、funct7确定。其余的rs1,rs2指源寄存器。rd指目的寄存器。imm指立即数。
R-type: 用于对寄存器操作。
在RV32I中,有以下部分具体指令。
I-type:用于load内存。
在RV32I中,有以下部分具体指令。
S-type:用于store内存
在RV32I中,有以下部分具体指令。
B-type:用于条件跳转
在RV32I中,有以下部分具体指令。
U-type:长立即数类型指令
在RV32I中,有以下部分具体指令。
J-type:无条件跳转指令。
在RV32I中,有以下部分具体指令。
对于以上所有的指令,寄存器rs/rd都是用5位来表示。指的是通用寄存器的索引。通过5位(32个)即可唯一确定通用寄存器。
后续将一一展开介绍。