首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MIPS立即指令ori/addi/lui等是否需要写入寄存器?

MIPS立即指令ori/addi/lui等是否需要写入寄存器?
EN

Stack Overflow用户
提问于 2011-07-12 07:05:54
回答 1查看 2.6K关注 0票数 2

我正在学习MIPS中的流水线技术。我有一个关于即时指令及其指令流程的问题。我一直在读ori/addi/lui,并且是即时指令或I-type。我还不断发现,I型指令只需要MIPS 5阶段过程的前三个阶段。如下所示

代码语言:javascript
运行
复制
     |instruction memory|register read|ALU op|DataMemory|Register Write|
     |------------------------------------------------------------------
 addi|         X        |       X     |    X |          |              |
 -----------------------------------------------------------------------
 ori |         X        |       X     |    X |          |              |
 -----------------------------------------------------------------------
 lui |         X        |       X     |   X  |          |              |
 -----------------------------------------------------------------------

我的第一个问题是,这张表正确吗?我发现奇怪的是,这些指令不需要寄存器写来改变寄存器的内容。如果这张桌子不正确,有人能帮我看看正确的桌子是什么样子的吗?

EN

回答 1

Stack Overflow用户

发布于 2011-09-04 22:31:46

addi/ori/lui等的即时指令需要将其结果写入寄存器文件。例如:addi $dest, $src, immd_val。对于此指令,其中一个操作数是立即值。所以计算结果是,$dest = $src + immd_val。如您所见,结果必须写回寄存器$dest。你在正确的轨道上,你需要适当地修改你的表。

有一些指令不需要将结果写回寄存器堆,如分支、存储、比较等。

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

https://stackoverflow.com/questions/6657733

复制
相关文章

相似问题

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