2015-08-23 42 views
0

一个32位寄存器可以存储232个不同的值。可以存储在32位中的 整数值的符号范围是-2,147,483,648到 2,147,483,647(无符号:0到4,294,967,295)。因此,具有32位存储器地址的处理器 可以直接访问4字节的可寻址字节存储器。为什么32位处理器的4Gbibytes而不是4Gibibits的地址空间?

https://en.wikipedia.org/wiki/32-bit

什么让我困惑的是,我们是在谈论一个32 处理器,能够满足2^32个不同的地址。但现在2^32是以字节为单位,而不是位,为什么?

+3

因为通常不能寻址小于内存中的字节的任何内容。如果你需要一个特定的位,读一个字节/半字/字/任何,并使用按位逻辑提取你需要的位。 – Michael

+0

@Michael:将其作为答案! – icktoofay

回答

1

内存中最小的可寻址单元是一个字节(该规则的例外情况存在,但您特别针对x86)。所以如果你的地址是N位,你可以表示2^N个不同的地址,这意味着你可以处理2^N个单独的字节。

相关问题