首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在MIPS中'opcode‘字段和'funct’字段是分开的?

为什么在MIPS中'opcode‘字段和'funct’字段是分开的?
EN

Stack Overflow用户
提问于 2017-02-22 21:08:13
回答 2查看 1.9K关注 0票数 3

MIPS ISA具有R类型的指令,而R指令在其前6位具有opcode字段,在其后6位具有funct字段。那么为什么ISA是这样设计的呢?把它们组合成一个12位的字段怎么样?

EN

回答 2

Stack Overflow用户

发布于 2020-02-26 10:56:10

我的想法是这三种指令共享一个6位操作码的前缀。对于R和I型,接下来的5位决定源寄存器。如果将R指令的操作码和函数结合起来,R指令和I指令的指令格式不是很一致,这可能会使处理器的设计变得复杂。

票数 3
EN

Stack Overflow用户

发布于 2017-02-23 07:20:11

如果将它们组合在12位字段中会怎么样?

由于操作码对于MIPS中的某些操作是相同的,并且如果您更改了funct,则无法区分指令执行的是哪种操作,例如,考虑以下add(R,0,32) add具有操作码0funct 32

还要考虑到and(R,0,36) and也有操作码0,但在本例中是不同的funct,这意味着它的And操作。

查看MIPS参考表。

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

https://stackoverflow.com/questions/42392369

复制
相关文章

相似问题

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