x86-Programmierung und -Betriebsarten (Teil 4)

von Klaus DembowskiHans-Peter Messmer, 05.02.2004
PDF PDF | eBook eBook

Globale und lokale Deskriptortabelle

Für die Verwaltung der lokalen und globalen Deskriptortabelle sowie der weiter unten beschriebenen Interrupt-Deskriptortabelle und der Tasks werden ab dem 80386 mindestens fünf Register implementiert, die Sie in Abbildung 6.8 sehen. Das sind das Steuerregister CR0 und die vier Speicherverwaltungsregister Task-Register (TR) sowie die Register für die lokale Deskriptortabelle (LDTR), die Interrupt-Deskriptortabelle (IDTR) und die globale Deskriptortabelle (GDTR).
Register im Detail: Die Speicherverwaltungs- und das Steuerregister für den Protected Mode am Beispiel des 80386
Register im Detail: Die Speicherverwaltungs- und das Steuerregister für den Protected Mode am Beispiel des 80386
Register im Detail: Die Speicherverwaltungs- und das Steuerregister für den Protected Mode am Beispiel des 80386
Der Index, das heißt die höherwertigen 13 Bit des Segmentselektors (siehe Bild "Register im Detail") geben nun die Nummer des Segmentdeskriptors in der Deskriptortabelle an, der das zugehörige Segment beschreibt. Mit 13 Bit sind maximal 8192 verschiedene Indizes möglich, sodass die globale und lokale Deskriptortabelle jeweils maximal 8192 Einträge zu 8 Byte oder 64 KByte umfassen können. Die Tabellen beschreiben damit jeweils bis zu 8192 verschiedene Segmente. Aufbau und Größe der Segmentdeskriptoren für die lokale Deskriptortabelle (LDT) und die globale Deskriptortabelle (GDT) stimmen überein. Ob sich der Segmentselektor in einem Segmentregister auf die GDT oder die LDT bezieht, gibt ja der Tabellenindikator TI im Selektor an. Möchte der Prozessor auf einen Eintrag in der GDT oder LDT zugreifen, multipliziert er den Indexwert des Selektors mit 8 (Anzahl der Byte je Deskriptor) und addiert das Ergebnis zur Basisadresse der entsprechenden Deskriptortabelle.
Das niederwertige Wort des Steuerregisters ist bereits beim 80286 als Maschinenstatuswort (MSW) vorhanden und kann beim 80386 aus Kompatibilitätsgründen genauso adressiert werden. Das höchstwertige PG-Bit aktiviert die Paging-Einheit oder legt sie still. Dazu mehr im nächsten Teil der Artikelserie. Die Bedeutung der Bits des Steuerregisters CR0 haben wir bereits im Zusammenhang mit den Steuerregistern erläutert.
Von besonderer Bedeutung für den Protected Mode ist das Bit PE (Protection Enable). Wenn Sie es auf 1 setzen, schaltet die CPU sofort in den Protected Mode um. Löschen können Sie es entweder explizit durch einen Befehl MOV CR0, xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxx0b, einen Prozessor-Reset oder einen Triple-Fault des Prozessors.
'Server-Newsletter' bestellen!
Auf der nächsten Seite: GTD- und LDT-Register
Seite 9 von 31
Inhalt dieses Artikels
Das könnte Sie auch interessieren
Links zum Thema




Ihre Meinung zum Artikel
Benutzername:
Passwort: