(相关资料图)

在早期的计算机中,地址总线只有20根,每根地址线能够寻址1MB的内存空间。而在一些较新的计算机中,地址总线已经发展到了32根,从而能够寻址更多的内存。但是,为了兼容老的软件,一些现代计算机在启动时仍会关闭A20地址总线,以便能够访问旧式的内存地址。而打开A20地址总线意味着计算机将能够寻址更多的内存。

实模式下内存访问是采取“段基址:段内偏移地址”的形式,段基址要乘以 16 后再加上段内偏移地址。 实模式下寄存器都是 16 位的,如果段基址和段内偏移地址都为 16 位的最大值,即 0xffff: 0xffff,最大地址是 oxffff0+0xffff ,即 OxlOFFEF 由于实模式下的地址线是 20 位,最大 址空间是 1MB ,即 0x00000~0xfffff, 超出 1MB 内存的部分在逻辑上也是正常的,但物理内存中却没有与之对应的部分。为了让“段 基址:段内偏移地址”策略继续可用, CPU 采取的做法是将超过1MB的部分自动回绕到0地址,继续从0地址开始映射 相当于把地址对1MB求模。超过1MB多余出来的内存被称为高端内存区 HMA。

推荐内容