为什么“操作码”字段和“功能”字段在MIPS中分开?

时间:2017-02-22 13:08:13

标签: mips hardware isa

MIPS ISA具有'R'类型指令,'R'指令在其前6位具有'操作码'字段,在其最后6位具有'funt'字段。那么为什么ISA这样设计呢?如何将它们组合成12位字段?

2 个答案:

答案 0 :(得分:2)

MIPS instruction format

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

答案 1 :(得分:0)

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

由于操作码对于MIPS中的某些操作是相同的,并且如果更改funct,则无法区分指令执行的操作,例如考虑以下add(R,0,32){ {1}}有操作码add0 funct
并且还考虑到和(R,0,36)32也有操作码and但在这种情况下0不同funct这意味着它和36操作

查看MIPS参考表。