32位处理器如何处理4千兆字节的内存

时间:2010-09-26 07:04:04

标签: operating-system

我不明白这是因为2 ^ 32是4千兆位而不是字节对吗?既然2 ^ 2 * 1024 * 1024 * 1024位对吗?我错了吗?

5 个答案:

答案 0 :(得分:8)

最小的可单独寻址的存储单元是一个字节。比特没有地址。你必须读取一个或多个字节,然后进行位掩码,以获得各个位。

答案 1 :(得分:5)

据我所知,从大学时代起,这就是它的发展方式

如果32 = 地址总线的大小,那么可以寻址的内存总数地址 = 2 ^ 32 = 4294967296

但是,这些是内存位置的4294967296 地址。由于每个内存位置本身= 1个字节,因此这为我们提供了可以寻址的4294967296个字节。

因此可以解决4GB内存问题。

答案 2 :(得分:1)

不,这是千兆字节。一个字节有8位,因此您必须将结果数乘以8才能得到这些位。正如约翰在他的回答中所说,你不能解决单个位,你将不得不进行位移和屏蔽以获得单个位。

答案 3 :(得分:1)

在旧的游戏机时代,SNES和Megadrive游戏以MegaBits进行测量,因为根据定义,8MegaBit游戏听起来比1兆比特游戏更大。最后,大多数人都说8Megs,所以这种困惑再次给大多数人带来了8兆字节的印象。我不确定brett是在谈论SNES还是Megadrive编程,但要记住8 Megabits = 1兆字节。

答案 4 :(得分:-1)

上面的答案解决了这个问题,如果您希望解决超过4 gb的问题,那么您可以使用偏移存储寄存器,这可以帮助您解决更广泛的范围。