32 位架构上的最大内存

32 位架构上的最大内存

我的问题很简单。在 32 位架构上,最大 RAM 为 4GB,因为 CPU 可以处理 32 位地址。所以 2^32 是 4096。我的问题是为什么单位是 GB 而不是 Gb?我们说的是位。感谢您的回复。

答案1

我的问题是为什么单位是GB而不是Gb?

每个可寻址位置包含一个字节。

如果您可以访问 $X 字节,则最大可寻址内存为 $X 字节。
(这些 8/16/32/64/10(在某些旧 IBM 大型机上为 10!)位是从单个地址读取的!)

答案2

通常情况下,32 位架构的处理器一次只能寻址 4 GiB 的物理内存(2 32 = 4294967296)。每个字节的物理内存都有自己的地址。

但是,有一些方法可以扩展地址空间,例如聚丙烯酰胺凝胶电泳。虽然这能让处理器寻址超过 4 GiB 的内存,但在 32 位处理器上运行的应用程序使用 32 位变量来访问数据。这意味着每个应用程序仍然无法访问超过 4 GiB 的内存。

答案3

为了确定可寻址的内存量,我们需要了解三件事。

  1. 内存的最小可寻址单元的大小。在几乎所有的通用计算机上,这都是 8 位字节。计算机通常不以位为单位寻址内存。
  2. 物理地址的可用大小。这可能与处理器的数据字大小相同,但通常不是。
  3. 是否需要将任何内存地址范围用于内存以外的用途。大多数系统将 IO 设备放置在内存映射中,从而减少了常规内存的可用空间量(有时会显著减少)。

答案4

记忆是处理按字节数而不是位数。这是一种折衷,8 位是机器指令的最小大小。

它可以通过 32 位字进行寻址,从而处理 16GB 内存,但这样一来,机器指令至少为 32 位,程序代码就会大得多,并且文本处理将需要复杂且低效的处理,除非每个字存储一个字符。

类似地,磁盘通过 512 字节扇区号进行寻址,这使得 32 位寻址的磁盘系统上的分区大小限制为 2TB。

相关内容