一、05-Minisys-1单周期CPU的数据通路设计(下)(1)
1.I型指令数据通路
addi, addiu, andi, ori, xori, lui, slti, sltiu指令
- 指令特点:
- 指令类型由op决定(不再有操作码)
- R[rs],Immediate为ALU的源操作数,lui指令没有rs
- 目标寄存器为rt(非rd)
- 指令功能的RTL描述:
取址:
M[PC] ; PC←PC+4
立即数扩展并与rs的内容作运算:
R[rt]←R[rs] op ZeroExt(imm16)(零扩展 逻辑)
R[rt]←R[rs] op SignExt(imm16)(符合扩展 加减)
思考:
1 ) R型指令与此类指令目标寄存器不一致怎么办?(目标寄存器rd变rt)
2 )有一个源操作数也和R型指令不一致怎么办?(寄存器变立即数)
3 )立即数扩展有无符号和有符号之分怎么办?
-
增加器件
① 2选1数据选择器——选择不同的目标寄存器(选rt/rd)
② 2选1数据选择器——源操作数选择(立即数/寄存器)
③ 立即数打展器(零扩展/符号扩展) -
新加控制信号3个(译码后产生)
① I_format说明进行的是上述几种指令
② RegDst为1,选择rd是目标寄存器
③ ALUSrc 为1,选择立即数作为第二源操作数 -
数据通路图
2.访存指令数据通路
IW指令(从存储器中读数据)
<