为什么32位处理器的地址空间是4Gibibytes而不是4Gibibits?

时间:2015-08-23 19:50:37

标签: x86 cpu-architecture processor-architecture

  

32位寄存器可以存储2个 32 个不同的值。签名范围   可以以32位存储的整数值是-2,147,483,648到   2,147,483,647(未签名:0至4,294,967,295)。因此,一个处理器   具有32位内存地址可以直接访问4 GiB   字节可寻址的内存。

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

让我感到困惑的是,我们正在谈论一个32位处理器,它可以处理2个 32 个不同的地址。但现在2 32 是字节而不是位,为什么会这样?

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

每个唯一地址都指向地址映射中的一个内存字节,而不是一点。换句话说,内存是字节可寻址的,这就是为什么32位可以寻址4GB的原因。