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

Why is the address space of a 32-bit processor 4Gibibytes and not 4Gibibits?

A 32-bit register can store 232 different values. The signed range of integer values that can be stored in 32 bits is -2,147,483,648 through 2,147,483,647 (unsigned: 0 through 4,294,967,295). Hence, a processor with 32-bit memory addresses can directly access 4 GiB of byte-addressable memory.

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

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

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

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