本质上,4Gb 如何变成 4GB?如果内存正在寻址字节,那么可能性不应该是 2(32/8) 吗?
最佳答案
这取决于您如何处理数据。
如果您使用 32 位来寻址每个 位 ,您可以寻址 232 位或 4Gb = 512MB。如果您的地址是 字节 像大多数当前的架构一样,它会给你 4GB。
但是如果你的地址是 更大的块您将需要更少的位来处理 4GB。例如,如果您对每个 512 字节的块(2^9 字节)进行寻址,则可以用 23 位寻址 4GB。 FAT16使用 16 位来寻址(最大)64KB 集群,因此可以寻址最大 4GB 卷。在Java Compressed Oops中使用相同您可以在其中使用 32 位引用寻址 32GB 内存。
一些较旧的架构甚至使用 word-addressable memory而不是像现在大多数人那样的字节。具有大于八位字节的最小可寻址单元的现代体系结构主要存在于 DSP 中。还有一些具有位可寻址内存的架构,如 Intel 8051
关于cpu-architecture - 如果 2³² 位 = 40 亿位而不是字节,32 位如何寻址 4GB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25820886/