为什么32位系统支持的最大内存为4G?

时间:2022-08-31 03:31:43

2^32 = 4 * 2^10 * 2 ^10 *2^10B=4GB
32位X86架构是指个人电脑的地址总线是32位的,CPU、内存控制器、操作系统都是按32位地址总线设计。32位地址总线
可以支持的内存地址代码是 4096MB,也就是有4GB的地址代码,可以编4GB个地址。这4GB个地址码正好可以分配给4GB内
存。但是,这4GB个地址码不能全部分配给安装在主板上的物理内存。因为个人电脑还有很多设备需要地址代码,以便
CPU可以根据地址码找到它们,同时CPU和这些设备交换数据需要暂时存放数据的存储器 ——寄存器,这些寄存器也需
要地址代码。比如硬盘控制器、软驱控制器、管理插在PCI槽上的 PCI卡的PCI总线控制器,PCI-E总线控制器和PCI-E显
卡,它们都有寄存器都需要系统分配给它们地址代码。这些地址由系统分配,电脑用户在使用中感觉不到。这样一来,
当我们为电脑插上总容量为4GB的内存时,就有一部分内存分配不到地址代码而不能使用。