嘿,我学习软件,所以在绘制电路方面我是全新的,我需要在这里给这台MIPS机器增加一个新的指令

我必须添加的新指令jt --跳转表--是一条指令,它可以转到内存中由两个寄存器指示的地址的值所指示的地址:
jt rs, rt # PC := mem[ R[rs] + R[rt] * 8 ]
它的编码如下:.指令31-26: jt的操作代码
指示25-21: rs登记号
指示20-16: rt注册表号
指示15-11: 0
指示10-6: 0
指令5-0: 0x20
有人能向一个完全的初学者(我)解释一下在图表上添加这样一个指令的过程吗?耽误您时间,实在对不起。
发布于 2020-06-26 05:46:53
根据您的指令描述,您需要使用R中的寄存器作为输入,将一个新值存储到PC上。现有架构不允许移动使用寄存器rs和rt值作为输入到PC寄存器的地址。但是,允许将Rrs和Rrt的值移动到输出端口V1和V2。您只需要将E(enable)设置为1。为了进一步实现,需要添加和移位。一个简单的方法可以是添加一个桶移位器块来移动第二个输入或V2。V1和V2*8作为UAL的输入。在UAL中启用添加算术操作。加法器的输出进入MD的Adr输入。应该启用MD。MD的输出应该进入PC机。由于现在有两个以上的输入到PC,一个2:1的多路复用器是必要的。控制器应产生五个控制位。一个用于启用R(寄存器文件),一个用于启用3位移位,另一个用于启用Adder,另一个用于启用MD,另一个用于在PC之前设置Mux的控制,最后一个用于启用PC的LD(Load)控制。
https://stackoverflow.com/questions/62494922
复制相似问题