如果一台计算机安装了 32 位 Windows,则最多只能使用 4GB 的 RAM。但为什么同一台计算机能够使用 500+GB 的存储空间?如果 RAM 有限制,那么存储空间难道不应该有相同的限制吗?
答案1
曾经有一些多年来一直实行并解决的存储大小限制。
来自BIOS 和 IDE 限制的历史我们看到的各种限制包括:
ATA 规范(适用于 IDE 磁盘)- 137 GB 限制
BIOS Int 13 - 8.5 GB 限制
528 MB 的限制
2.1 GB 的限制(1996 年 4 月)
3.2 GB 的限制
4.2 GB 的限制(1997 年 2 月)
7.9 GB 的限制
8.4 GB 的限制
33.8 GB 的限制(1999 年 8 月)
137 GB 的限制(2001 年 9 月)
2 TiB 限制
阅读链接文章了解每个限制的详细信息。一般来说,它们与内存限制不同,因为扇区大小为 512 字节,簇大小为 4096(默认),并结合了其他因素。
我们已经超过了列出的“2TB 限制”,这是特定于 MBR 磁盘的。GPT 分区磁盘没有此限制。
答案2
大部分情况下不会。CPU 并不像使用 RAM 那样直接使用磁盘存储 - 也就是说,它没有专门的指令来接受 HDD 扇区号。
相反,操作系统必须向磁盘控制器发送命令,以便检索某些扇区并将其复制到 RAM(反之亦然,将一些数据从 RAM 写入磁盘扇区)。只有当数据进入 RAM 后,CPU 才能访问这些数据 - 而 CPU 并不关心这些数据是如何到达那里的。
(请记住,CPU 的“位数”主要描述处理内存地址的指令,但不必要那些处理纯数字的。因此 32 位 CPU 仍然可以处理比这更大的数字。例如,当它需要计算 64 位扇区地址时。与处理 32 位数字相比,它可能需要更多的指令,但仍然是可行的。)
尽管如此,存储可能会受到限制别处。例如,IDE 磁盘最初只有接受 22 位扇区地址的命令。为了支持更大的磁盘,IDE 需要为 28 位和最终的 48 位扇区地址定义新命令。但这与 CPU 完全无关。