A20总线,是x86体系的扩充电子线路之一。A20总线是专门用来转换地址总线的第二十一位。

历史

编辑

IBM设计IBM PC AT机器时,他们决定采用性能更好但是在实模式下并不完全兼容以前的Intel 8088Intel 8086系列的Intel 80286微处理器。以前的x86体系微处理器并没有从A20到A23的总线。80286微处理器能够寻址到16MB的系统内存。

在8088及8086下,任何使用x86内存分段方式尝试访问超过最大1MB的内存都会使得溢出的第二十一位无效化。 许多实模式程序利用这一点,使不改变微处理器的段寄存器而去访问最开始的64KB内存成为一个通用的技巧。为了和这些程序保持兼容性,IBM自己在主板上去修复这个问题。在微处理器与系统总线间插入一个逻辑门完成了这个修复。这个逻辑门也因此被命名为A20总线。A20总线能被软件关闭或打开,以此来阻止或允许地址总线收到A20传来的信号。在引导系统时,BIOS先打开A20总线来统计和测试所有的系统内存。而当BIOS准备将计算机的控制权交给操作系统时会先将A20总线关闭。一开始,这个逻辑门连接到Intel 8042的键盘控制器。控制它是相对较慢。

激活A20总线是啟動作業系統的步骤之一,通常在啟動程式将控制权交给内核之前完成[1]

  1. ^ A20 Line - OSDev Wiki. wiki.osdev.org. [2020-09-18]. (原始内容存档于2020-09-16).