RISC-V-数字设计与集成电路(下)
RISC-V-数字设计与集成电路(下)
审查:添加/子的数据路径
将addi加载项添加到数据路径
I-type直接格式
imm[31:0]
•指令的高12位(inst[31:20])复制到立即数的低12位(imm[11:0])
•立即数通过复制inst[31]的值来进行符号扩展,以填充立即数值的高20位(imm[31:12])
将addi加载项添加到数据路径
实现Load Word指令
RISC-V汇编指令:也使用“I型”指令格式
lw rd, integer(rs1)
Reg[rd] = DMEM[Reg[rs1] + sign_extend(immediate)]
示例: addi x14,8(x2)
审查:将addi加载项添加到数据路径
将lw添加到数据路径
将lw添加到数据路径
所有RV32装载说明
funct3字段编码加载数据的大小和有符号性
•支持较窄的负载需要额外的电路,从内存加载的值中提取正确的字节/半字,并在写回寄存器文件之前,将结果进行符号或零扩展到32位。
实现Store Word指令
•RISC-V汇编指令:使用“S型”指令格式
sw rs2, integer(rs1)
DMEM[Reg[rs1] + sign_extend(immediate)] = Reg[rs2]
示例: sw x14, 8(x2)
审查:将lw添加到数据路径
将sw添加到数据路径
将sw添加到数据路径
评论:I-Format即时
imm[31:0]
•指令的高12位(inst[31:20])复制到立即数的低12位(imm[11:0])
•立即数通过复制inst[31]的值来进行符号扩展,以填充立即数值的高20位(imm[31:12])
I&S型立即数发生器
imm[31:0]
只需要一个5位多路复用器,就可以在指令中低位5位立即数的两个位置之间进行选择,
立即数中的其他位连接到指令中的固定位置