Zum Inhalt springen
Der Guide für ein smartes Leben.
PC-Relikte

Hardware-Standards aus grauer Vorzeit

Auch modernste Rechner schleppen bei der Hardware Altlasten aus den Frühzeiten des IBM-PCs mit sich herum. Wir erklären, warum das so ist und unternehmen zudem einen Ausflug in die Geschichte der gescheiterten Versuche, den x86-PC abzulösen.

Autor: Klaus Länger • 26.11.2013 • ca. 3:15 Min

image.jpg
© fergregory - Fotolia.com

Eine Eigenheit jedes noch so modernen PCs ist, dass er prinzipiell immer noch kompatibel zu IBMs erstem PC mit Intel 8086 ist. Daher schleppen, wenn es zur Hardware kommt,  auch aktuelle Maschinen noch einige eher bizarre Relikte aus der Frühzeit des Personal Computers von vor 30 Jahren mit si...

Eine Eigenheit jedes noch so modernen PCs ist, dass er prinzipiell immer noch kompatibel zu IBMs erstem PC mit Intel 8086 ist. Daher schleppen, wenn es zur Hardware kommt,  auch aktuelle Maschinen noch einige eher bizarre Relikte aus der Frühzeit des Personal Computers von vor 30 Jahren mit sich herum. Hard- und Softwareentwicklern bereitet die alte Technik auch immer wieder Kopfzerbrechen.

Der Intel 8086 und herumgewickelte Speicheradressen

Das obskurste Überbleibsel aus DOS-Zeiten dürfte wohl das A20-Gate sein. Dies ist im Prinzip ein Workaround, mit dem man auf den ersten IBM-AT-Computern mit Intel-80286-Prozessor auch DOS-Programme starten konnte, die noch für die ersten Intel-Prozessoren 8086 und 8088 geschrieben wurden. Denn diese CPUs konnten mit ihren 20 Adressleitungen (A0 bis A19) nur maximal 1 MByte RAM adressieren. Da ihre internen Adressregister aber nur 16 Bit breit waren, musste man sich mit einem Trick behelfen, um den Speicher komplett adressieren zu können: Er wird dafür in 16 Byte große Segmente unterteilt. Um sich innerhalb der Segmente bewegen zu können, wird ein zweiter 16-Bit-Wert als Offset verwendet. Intel nutzte dabei ein etwas ungewöhnliches Adressierungsverfahren: Die Segmentadresse wird mit 16 multipliziert, um damit eine 20-Bit-Zahl zu generieren, und danach wird der Offset-Teil dazu addiert. Die Multiplikation wird durch eine Verschiebung um 4 Bit nach links und ein Nachschieben von 0 erledigt.

Rechner,Prozessor,Speicher,UEFI
Bei UEFI sind auch aufwändige grafische Benutzeroberflächen möglich, da der Prozessor hier nicht auf den Real Mode beschränkt ist.
© Hersteller

Diese Verschiebeoperationen sind sehr schnell. Der Maximalwert für die Adresse entsteht, wenn die Hexadezimalzahlen für das Segment und den Offset bei FFFF liegen, dem höchsten in 16 Bit darstellbaren Wert (dezimal 65535). Damit lautet die Rechnung für die 20-Bit-Adresse von FFFF0 + FFFF = 10FFEF. Der Dezimalwert ist hier 1114095 und liegt damit eigentlich über der 1-Megabyte-Grenze. Dabei entsteht aber kein Fehler, sondern der Prozessor fängt einfach erneut bei 0 an und nutzt eine Adresse, die am Anfang des Speichers liegt. Dieses Verfahren nennt man Wrap-around, und es wurde auch in etlichen DOS-Programmen genutzt.

Intel 80286: A20-Gate als Workaround für den Real Mode

Problematisch wurde diese Praxis aber mit dem Intel 80286 und seinem 24-Bit- Adressbus, mit dem der Prozessor nun auf maximal 16 MByte Arbeitsspeicher direkt zugreifen konnte. Intel führte mit dem 80286 einen neuen Betriebsmodus ein. Der Protected Mode enthielt Schutzmechanismen, die den Speicherzugriff von Programmen regelten und damit verhinderten, dass Programmfehler gleich zum Absturz des kompletten Rechners führten, etwa wenn Programme auf Speicherbereiche zugriffen, die eigentlich dem Betriebssystem gehören.

ssd, festplatte, hardware
Windows Tuning mit Autoruns: So optimieren Sie Ihre PC-Leistung.

Allerdings sollte die neue CPU auch weiterhin zu MS-DOS und DOS-Programmen kompatibel bleiben. Daher führte Intel den Real Mode ein, in dem der Prozessor wie ein schnellerer 8086 arbeitete. Da nun aber mit den 24 Adressleitungen auch Speicher oberhalb der 1-MByte-Grenze vorhanden war, funktionierte der Wrap-around nicht mehr.Deshalb mussten sich die IBM-Ingenieure für den 5170, den ersten PC mit 286er- Prozessor, ein Verfahren einfallen lassen, das die 21. Adressleitung abschaltete, um im Real Mode den Wrap-around wieder zu ermöglichen - und dieser Trick war das A20-Gate.

Um die ganze Sache möglichst günstig zu gestalten, wurde für die Steuerung des logischen Gatters in der 21. Adressleitung auf dem Mainboard ein ungenutztes Bit im Steuerregister des sowieso vorhandenen Intel-8042-Tastaturcontrollers verwendet, allerdings nicht gerade die schnellste Methode. Bei moderneren Rechnern werden schnellere Verfahren verwendet. Zudem gibt es bei allen Prozessoren seit dem 80486 den A20-Mask-Pin, über den ihm der Chipsatz mitteilt, ob die A20-Adressleitung geschaltet ist oder nicht, da das Auswirkungen auf den internen Cache hat. Selbst im aktuellen X79-Chipsatz von Intel findet sich noch das A20-Gate.

Real Mode beim Rechnerstart

Der Real Mode ist ein weiteres Überbleibsel aus den frühen x86-Tagen, das sich bis heute gehalten hat. Jeder x86-Prozessor startet nach dem Einschalten des Rechners oder nach einem Reset zuerst im Real Mode und wechselt erst vor dem Start des Betriebssystems in den Protected Mode.

Das hängt auch damit zusammen, dass das traditionelle PC-BIOS ebenfalls im RealMode läuft, was den adressierbaren Speicher auf 1 MByte beschränkt. Treiber, die vor dem Betriebssystem geladen werden, etwa solche für RAID-Controller, müssen 16-Bit-Treiber sein. Damit können sie nur 64 KByte an Speicher adressieren, was den Systemstart verlängert. Beim BIOS-Nachfolger UEFI können Prozessoren dagegen je nach Typ im 32-Bit-Protected-Mode oder im 64-Bit-Modus laufen, der Real Mode kann also in Zukunft verschwinden. Das ermöglicht nicht nur einen schnelleren Systemstart, sondern erlaubt auch eigene Gerätetreiber, etwa für USB-Geräte. Da die UEFI-Spezifikation ein eigenes Protokoll für Grafikkarten definiert, wird auch die VGA-Unterstützung obsolet.

Intel, Logo, Chiphersteller