RISC-V-数字设计与集成电路(下)

发布时间 2023-12-30 04:53:24作者: 吴建明wujianming

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位立即数的两个位置之间进行选择,

立即数中的其他位连接到指令中的固定位置