首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >向MIPS添加新指令

向MIPS添加新指令
EN

Stack Overflow用户
提问于 2020-06-21 05:54:26
回答 1查看 595关注 0票数 2

嘿,我学习软件,所以在绘制电路方面我是全新的,我需要在这里给这台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

有人能向一个完全的初学者(我)解释一下在图表上添加这样一个指令的过程吗?耽误您时间,实在对不起。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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)控制。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62494922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档