在32位架构下,有多少指令适合256字节的存储器单元?
有人可以解释你是如何得到这个答案的吗?我知道每条指令都是32位。我知道答案是9,但我不知道如何得到答案
1指令= 32位= 4字节。
然后256/4 = 64。
如果可能的话,我想要解释的是,如果它是32位架构,它会有什么不同。那指的是指令权吗?换句话说,如果它说64位架构就意味着;每条指令是64位= 8字节,因此只有32条指令适合。
我说错了吗?
谢谢!
答案 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)