Die folgenden Abschnitte sollen als Einleitung in die Protected Mode Programmierung dienen. Sie stellen die Grundlage der physischen, sowie der darauf aufbauenden logischen Adressierung im Realmode dar. Weiterhin sprechen sie Probleme an, die dabei auftreten können. Sie gehen auf Lösungsmöglichkeiten dieser Probleme ein und demonstrieren die genannten Möglichkeiten jeweils an einem Beispiel.
1.1 Physische AdressierungDie Schnittstelle zwischen CPU und Hauptspeicher funktioniert bei allen Computern, die nach dem von Neumann-Modell arbeiten, auf dem gleichen Prinzip. Die CPU ist über einen Adress-, einen Daten- und einen Steuerbus mit dem Hauptspeicher verbunden. In diesem Zusammenhang versteht man unter einem "Bus" eine festgelegte Anzahl Leitungen, die jeweils nur 2 Zustände unterscheiden können (Leitung führt HIGH- oder LOW-Pegel)
Bei einem Lesezugriff der CPU auf den Hauptspeicher legt die CPU zunächst die gewünschte Adresse in Form eines Bitmusters auf den Adressbus. Dieses Bitmuster wird von den Speicherbausteinen als Adresse interpretiert und anschließend wird das durch die Adresse identifizierte Datum (über den Datenbus) an die CPU übertragen.
Die dabei mit einem (!) Lesezugriff maximal zu übertragende Datenmenge ist abhängig von der zur Verfügung stehenden Anzahl an Datenleitungen. Für Bytezugriffe genügen 8 Leitungen. Ein entsprechender Wort-Zugriff setzt jedoch mindestens 16 Datenleitungen voraus (bzw. es muß ein 16 Bit Zugriff bei nur 8 Leitungen auf zwei nacheinander ausgeführte 8 Bit Zugriffe verteilt werden).
Eine Schreibaktion läuft auf ähnliche Weise ab, nur sendet die CPU zusätzlich die zu schreibenden Werte über den Datenbus.
Damit dieser ständige Datenaustausch nicht zu einem großen Durcheinander führt, existiert der Steuerbus. Er dient der Koordination der einzelnen Komponenten untereinander und sorgt dadurch dafür, daß immer nur eine Komponente den Bus benutzen kann.
Das eben Gesagte wird durch Abb. 1.1 illustriert, dabei sollte jedoch beachtet werden, daß die Abbildung eine Vereinfachung der tatsächlichen Busverbindungen darstellt. Neben der CPU und dem Hauptspeicher gibt es weitere Komponenten, die auf den Bus zugreifen können. Zu diesen Komponenten gehören Erweiterungskarten und Support-Chips, wie der DMA-Controller.
Abb. 1.1: Bussystem
Da bei dieser Form der Speicheradressierung nur einer von zwei Zuständen pro Leitung auftreten kann, sind 2n verschiedene Speicherzellen (bei n Adressleitungen) ansprechbar. Die maximal erreichbare Speicherzelle bei 16 Adressleitungen ergibt sich dadurch zu: 216=65536, entsprechend steht bei 20 Adressleitungen ein Speicherraum von 220=1048576=1 MB zur Verfügung. Die verwendeten Speicherbausteine arbeiten dabei "linear", d.h. jedem der möglichen Speicherplätze wird eine Adresse zugewiesen.