我无法执行指令jrlti。我无权修改ALU,因此它必须保持完整。
以下是指令的定义方式:
[rs] 在mips一周期数据路径中处理的比较[rs] 我该怎么做PC = [rt]而不是PC = PC + 4请尝试纠正我在尝试执行指令时所做的任何错误假设。
答案 0 :(得分:1)
很明显,如果使用ALU进行比较,则不能像在单周期体系结构中那样将其用于其他任何事情,并且必须找到其他路径。
在SrcA(RD1)和Imm16之间进行比较。因此为了跳转而写入PC的寄存器在RD2中。
RD2和PC之间目前没有路径。 RD2的唯一路径通往存储器或ALU的输入。因此,您必须在RD2和PC之间添加路径。
有多种方法可以执行此操作,但更简单的方法是在PCBranch之后添加一个多路复用器,它将为该新指令将为分支计算的地址或寄存器RD2驱动到PC。在两种情况下,都使用相同的信号(ALU比较的输出)来控制将哪个值写入PC。
还必须在控制单元上进行附加信号的修改,以控制此多路复用器。