0

该字段由算术和条件分支指令使用。

第一个问题是:

可以存储在立即算术指令和条件分支中的值范围是多少?

二是:

如果 MIPS 处理器有 64 个寄存器,您将如何更改立即指令格式以引用这些寄存器?我将如何绘制和标记格式?

4

1 回答 1

4

第 1 部分

如图所示:

MIPS 指令格式

I-Type 指令为立即数字段保留 16 位。这当然意味着立即字段可以采用 2 16 个可能的值。如果我们考虑立即域可以是正数或负数(1 位用于符号),我们可以看到最大值为 2 15 - 1,最小值为 -(2 15 - 1)。

andi, ori, 和xori零扩展立即数(0 到 2 16 - 1),而所有其他 MIPS I 类型指令对立即数/偏移量进行符号扩展。


第2部分:

同样,查看上图我们可以看到 rs 和 rt 寄存器用 5 位指定。这是因为 mips 指令集中有 32 个寄存器——即 2 5。如果有 64 个寄存器,则 rs 和 rt 字段都需要 6 位长,因此只剩下 14 位用于立即字段。

于 2014-04-17T02:24:27.387 回答