32位和64位系统-内存限制是位还是字节?

时间:2018-07-06 10:03:31

标签: x86 64-bit 32bit-64bit cpu-architecture 32-bit

我正在阅读32位和64位系统之间的区别,并在此过程中遇到了这个博客:https://www.zdnet.com/article/clearing-up-the-3264-bit-memory-limit-confusion/

现在我很困惑,因为在此博客中,他们提供了如下注释:

  

注意:想知道我们如何达到4GB的限制吗?这是32位系统的数学运算:

     

2 ^ 32 = 4,294,967,296字节4,294,967,296 /(1,024 x 1,024)= 4,096 MB = 4GB

     

与64位不同:

     

2 ^ 64 = 18,446,744,073,709,551,616 18,446,744,073,709,551,616 /(1,024 x 1,024)= 16EB(艾字节)

他们声明程序是32位还是64位会更改其可以使用的内存限制。

我不明白的是,位如何变成字节?如果算出2的32位幂,结果肯定是4,294,967,296 ,而不是 bytes ?如果是这样,那么32位系统上的内存限制将是4 Giga Bits ,而不是4 Giga Bytes

有人可以解释这是如何实现的吗?也许我想念什么?

1 个答案:

答案 0 :(得分:1)

每个可单独寻址的存储单元都是一个字节。内存不是位可寻址的,只能以字节块或更大的字节为单位。因此,在位图中设置单个位需要对包含的字节或字进行读-修改-写操作。