数据通路(2)--Control
本文最后更新于:Sunday, September 27th 2020, 7:07 pm
1、ALU控制
MIPS ALU在4位控制信号上定义了6种有效的输入组合

- 存储器访问指令:add
- R型指令:根据指令低6位的funct字段1 ,ALU执行5种操作中的一种(nor暂时没用)
- branch指令:sub(两个操作数相减判断是否为零)
多级译码:输入:6位funct字段和2位ALUOP字段————>输出:4位ALU control lines

- 真值表——优化后转换为门电路(坑待定)

2、主控制单元
- 指令格式

- R型指令opcode为0;lw为35;sw为43 ; branch为4⃣


控制信号真值表

op[5:0]取至Instruction[31:26]
- RegDst: R为1表示目的寄存器为rd; lw为rs; sw和branch不用写回寄存器堆所以没有目的寄存器。
- ALUSrc: R和branch为0表示ALU第二个操作数来自rt; lw和sw表示第二个操作数来自低16位的扩展。
- MemtoReg: sw和branch为x表示不用写回。R为0表示ALU计算结果写回;lw表示数据寄存器取出来的数写回
- Regwirte: R和lw要写回所以为1。
- MenRead: 只要lw要读所以只有lw为1
- MemWrite: 只有sw要写
- Branch: 只有branch才触发
- ALUOP: R为10;存储为00;branch为01
跳转实现(即改变PC的值)
其OPcode为2.低26位都是offset_address。

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!