A20-Gate

Das Grundproblem eines jeden PCs ist, dass seine Hardware zu allen vorhergehenden Hardware-Generationen kompatibel ist. Deshalb stecken in jedem modernen PC uralte technische Errungenschaften und Kuriositäten, die sogar patentiert sind. Darunter befindet sich auch das A20-Gate, das auch im Itanium, Opteron und sogar im I/O-Protokoll HyperTransport nicht tot zukriegen ist. Das A20-Gate ist ein Relikt aus der Zeit des Prozessors 8086. Es ist auch heute noch für die Kompatibilität zu DOS-Programmen unerlässlich.

Da A20-Gate ist ein Gatter, dass die Kompatibilität zum Adressraum des 8088 aus den 70er-Jahren herstellt.

Mit der Hardware-Spezifikation PC2001 haben die Firmen Intel und Microsoft das Ende des A20-Gates beschlossen. Bisher wurde das aber noch nicht umgesetzt (Stand 2011). Die Prozessor-Hersteller Intel und AMD haben das A20-Gate in der Anbindung ihrer Prozessoren an das Motherboard immer noch vorgesehen. In der Nehalem-Architektur des Intel Core i7 wird die A20-Umschaltung immer noch unterstützt.
Verschaltung des A20-Gates
Grund des Übels ist das Betriebssystem MS-DOS von Microsoft. Dieses sorgt im Real Mode dafür, dass nur 20 Adressleitungen (A0-A19) des Adressbusses aktiv sind. Ein Prozessor der x86-Familie kann deshalb nur einen Arbeitsspeicher von 1 MByte ansprechen. Als der PC seinen Durchbruch geschafft hatte und IBM 1984 den AT mit dem Prozessor Intel 80286 herausbrachte sollten auch alle bereits verbreiteten DOS-Programme korrekt ausgeführt werden. IBM-Ingenieure erfanden deshalb das A20-Gate in Form eines kleinen Gatters (74F257), das bei Bedarf die Adressleitung A20 fest auf Null legt. Weil es sich dabei nur um eine kurzfristige Lösung, also ein Provisorium, handeln sollte, verzichtete man auf einen neuen Port zum Umschalten. Stattdessen wählte man einen freien Port im Tastatur-Controller 8042. Dieser hatte aber ein umständliches Protokoll, mit einer langen Wartezeit. Das zusätzliche Gatter für diese eine Adressleitung verzögert die Gültigkeit der Adressen um ein paar Nanosekunden. Ein eigentlich unnötiger Geschwindigkeitsverlust. Auf eine Software-Schnittstelle im BIOS und eine Funktion zur Zustandsabfrage des A20-Gates wurde verzichtet. Erst viel später, als man die Unverzichtbarkeit bei IBM und dem BIOS-Hersteller AMI erkannte, wurden entsprechende BIOS-Funktionen nachgereicht.
Im Protected Mode sind die Prozessoren ab 80286 in der Lage den Speicherbereich über 1 MByte anzusprechen. Damit die Adressleitung 20 (A20) freigeschaltet wird, war unter DOS u. a. die Datei HIMEM.SYS zuständig. Diese Datei versuchte für das Umschalten der Leitung, bis zu 17 verschiedene Rechnertypen zu erkennen, was nicht immer gut gelang. Manchmal hat es eben funktioniert, manchmal auch nicht. Auch Windows-Nutzer treffen immer wieder auf das A20-Gate. Vor allem dann, wenn es Probleme mit dem System Management Modus (SMM) oder ACPI gibt.

Nach aktuellem technischen Stand ist das A20-Gate und seine Unterstützung durch aktuelle Prozessoren unnötig, es sei denn, man möchte einen Rechner mit einem alten DOS booten. Ohne A20-Gate-Unterstützung würde eine Fehlermeldung von der Datei himem.sys erscheinen. Doch es gibt auch DOS-Varianten, zum Beispiel FreeDOS, die ohne A20-Gate problemlos klar kommen.