在32位架构下,有多少指令适合256字节的内存单元?

时间:2016-08-07 18:29:44

标签: memory cpu-architecture instructions

在32位架构下,有多少指令适合256字节的存储器单元?

有人可以解释你是如何得到这个答案的吗?我知道每条指令都是32位。我知道答案是9,但我不知道如何得到答案

1指令= 32位= 4字节。

然后256/4 = 64。

如果可能的话,我想要解释的是,如果它是32位架构,它会有什么不同。那指的是指令权吗?换句话说,如果它说64位架构就意味着;每条指令是64位= 8字节,因此只有32条指令适合。

我说错了吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

32位架构不一定使用32位长指令。 32位只告诉你,内存地址是32位长,所以2 32 地址是可能的(2 32 Byte = 4GiB),寄存器可以存储相同的位数。 / p>

根据您的架构,说明可以有不同的长度。

例如,如果您具有x86体系结构(16,32或64位),则指令具有可变长度。理论上,最大长度是无限的。在现实世界中,x86机器上的指令限制为15个字节。 (See this answer

如果应用15字节限制,则可以存储在256字节存储器单元中的最小指令数为⌊256/15⌋= 17条指令。 x86机器上的最短指令只有1个字节长,因此256个指令适合。 (x86 Wikipedia article

如果您使用的是RISC架构(精简指令集),则指令通常具有固定长度。例如,ARM体系结构最初只使用32位指令,因此256/4 = 64条指令适合您的内存单元。当前版本的ARM(32位或64位)具有32位和16位长指令以增加代码密度,因此理论上最多可将128条指令放入内存单元中。 (ARM Wikipedia article