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 是字节而不是位,为什么会这样?
答案 0 :(得分:2)
内存中最小的可寻址单元是一个字节(存在此规则的例外情况,但您特别询问x86)。因此,如果您的地址是N位,则可以表示2 ^ N个不同的地址,这意味着您可以处理2 ^ N个字节。
答案 1 :(得分:1)
每个唯一地址都指向地址映射中的一个内存字节,而不是一点。换句话说,内存是字节可寻址的,这就是为什么32位可以寻址4GB的原因。