【发布时间】:2015-04-12 05:21:34
【问题描述】:
我研究了 MIPS,如果指令不是移位指令,我发现指令的 5 位始终为 0。这似乎是对资源的浪费,是否必须强制执行所有指令具有相同长度的规律性的简单性?为什么移位指令不能长 5 位,而其余指令使用这些位来处理更多溢出?
【问题讨论】:
-
5 位长的指令需要位寻址架构。
-
此外,如果大多数指令都是 32 - 5 = 27 位,那将不会那么容易。在硬件中实现指令获取会很困难和/或内存模块必须非常奇特。
-
他们甚至不需要多 5 位,立即移位只使用两个寄存器字段,因此他们可以重新使用剩余的一个进行计数。但是 I 格式不能真的错过 5 位,而且无论如何 27 位是一个愚蠢的宽度。
-
该字段用于对浮点运算中的目标寄存器进行编码。一些浮点运算需要全部四个 5 位字段。
标签: assembly mips bit machine-code