今天先详细的描述一下MIPS的20条指令,各控制信号,验证自己做的数据通路图
1.取值功能的数据通路
首先PC寄存器输出的32位地址码,要作为指令存储器的地址码输入,如果考虑PC+4,还需要从PC的输出端连接到加法器的输入端,另一端是常数4,加法器的运算结果是PC+4,PC+4会更新PC,所以它会和PC输入端连接。
2.R型运算指令 (5条 add sub and or xor )
操作码op全为0,需要靠功能说明字段func确定操作类型
例如:add rd,rs,rt #R[rd]->R[rs]+R[rt]
操作码和功能说明字段输入到控制单元,控制单元产生控制信号,在读取寄存器堆的时候需要有两个寄存器的编号rs rt,rs rt分别连接到寄存器堆的两个地址输入端口,根据两个地址就可以读出两个数据,这两个数据要送到ALU做加法运算,ALU运算得到一个结果,运算的结果要写回寄存器堆,目标地址来源于rd,rd连接到寄存器堆的地址写入端口,要写入的话还需要控制单元产生一个高电位的写使能信号,然后在时钟信号的驱动下,数据才能真正写入寄存器堆。ALU的输出端