32 位指令字和 7 位操作码的最大主内存

32 位指令字和 7 位操作码的最大主内存

如果我们有一个具有 32 位指令字的系统,其中 7 位专用于操作码;这样的系统的最大主内存是否是 2^32 个字或 2^25 个字?

答案1

最大可寻址内存取决于地址寄存器的大小。如果你的系统设计为 7 位用于操作码,那么剩下 25 位用于指令寄存器寻址地址寄存器长 25 位,那么总可寻址内存为 2^25 个字。

以 Morris Mano 的这个基本计算机示例为例计算机系统架构

在此处输入图片描述

第15位是I位,代表寻址方式(直接/间接)。

操作码有 3 位。介绍的基本计算机体系结构中的地址寄存器是 12 位。你看,系统就是这样设计的。检查你的地址寄存器的大小,你就会找到答案。

答案2

一般来说,内存指针会驻留在某个寄存器中,而不是操作码本身中,因此如果您有一个 32 位指令字,其中 7 位是操作码,那么剩下的 25 位中的一些位可以分配给操作码使用的寄存器组合(如 src/destination 等)。

因此对于类似这样的指令

MOV MEM(R1) MEM(R3)

根据您机器的架构,R1 和 R3 可以是 32 位长或 64 位长,或者设计成任意长度。除非设计成这样,否则内存寻址不应受指令位宽的任何限制。

相关内容