当可能的 RAM 地址数量受到计算机架构(32/64 位)限制时,为什么硬盘的大小不受限制?
或者说是有限制的?如果是,那么 32 位计算机的硬盘最大容量是多少?
那么硬盘的地址是如何处理呢?
答案1
答案2
RAM 直接映射到处理器的地址/数据总线。硬盘则不然。它们与磁盘控制器 (IDE、SATA、SCSI 等) 接口。磁盘控制器将数据以较小的块复制到 RAM 或从 RAM 复制,CPU 会处理这些数据。
磁盘控制器有自己的寻址方案(通常基于磁盘的柱面、磁头和扇区)。多年来,它们一直受到各种限制。通常这些限制往往是操作系统和 BIOS 的限制,而不是硬件的限制。
硬盘寻址限制的一个很好的例子是 48 位 LBA 问题: http://support.microsoft.com/kb/303013
答案3
硬盘大小受磁柱/磁头/磁扇区中使用的位数限制。在遥远的过去(即 10 年前),您必须竭尽全力重新映射 CHS 和扩展 LBA 方案,以便使用大于 32MB 的驱动器,而不是大于 512MB 的驱动器等
文件大小受指定大小的位数限制。在 FAT32 中是 32 位,因此文件大小为 4Gb;在 NTFS 中是 64 位,因此文件非常非常大(18EB?)。Sun 的 ZFS 可以存储 256 PB 的文件,这可能比构成磁盘的原子数量还要多。
这是可能的,因为磁盘比内存慢得多,所以将大小存储在超过 32 位的数字中不是问题,因为 CPU 读取数字各部分并将它们相加所需的时间比访问时间少得多。
您可以对内存执行此操作,并在 32 位计算机上获得 64 位地址空间,方法是将每个地址存储在两个值中 - 这会很慢,但这是我们在 8 位计算机上寻址 64K 内存所必须做的事情。
答案4
更大的 RAM 意味着主板上有更多的寻址线/相关芯片上的 PIN。因此,这是物理板载容量和芯片组支持。如果您购买合适的主板,尤其是服务器或“工作站”主板,您可以获得更大的 RAM 容量,但它们往往更贵。我的这个盒子里有 32GB,我们的 VM 服务器可以占用近 400GB,所以可以更大。也就是说,我很少在桌面上使用超过 10GB 的空间。增加:它有助于缓存和一次加载更多数据,但除非你真的很痛苦,否则可能不会产生任何明显的区别。