实现跳转寄存器控制到单周期MIPS

时间:2013-06-21 17:06:00

标签: mips processor organization circuit

我正在尝试对单周期MIPS处理器实现jr(跳转寄存器)指令支持。在下图中,我绘制了一个简单的多路复用器,允许在正常的链式PC或指令(jr)地址之间进行选择。

MUX

如何知道指令是JR以将多路复用器选择设置为' 1'?我已经完成了跳转和jump_and_link(虽然图片没有显示,因为我现在手头没有我的项目),并控制它们,我只检查OP代码在主控件中为10(跳转)或11(jal),然后将多路复用器设置为' 1'。但我认为我不能对jr做同样的事情,因为指令布局是不同的。

2 个答案:

答案 0 :(得分:7)

JR指令的操作码有Instruction[31:26] == 0(特殊)和Instruction[5:0] == 0x08 (JR).您需要查看这两个位位置以确定这是JR指令。图表上的Control块需要额外输入Instruction[5:0]. rs中的Instruction[25:21]字段选择此指令的源寄存器。当执行rs指令时,需要将PC分配给JR

答案 1 :(得分:0)

我认为你可以通过在Jump mux之前实现JR mux来提高硬件性能,因为JR mux不依赖于Jump sel mux输出的pcnext。