Hardware Reference
In-Depth Information
und somit zu einem Protection Failure fuhren. Die Belegung des Speichers
ist Abbildung 8.4 zu entnehmen.
8.4
8.4 Page Table Pointer
Um die Organisation fur die weiteren Entries zu verstehen, muss man sich
die Seitennummer als Zahl in einem Zahlensystem zur Basis 1024 vorstellen,
d.h. jede Ziffer reprasentiert zehn Bit der dualen Darstellung der Seiten-
nummer. Eine Umrechnung ist ahnlich einfach wie zwischen dual und ok-
tal bzw. hexadezimal. Die Darstellung sei ( a 4 ,a 3 ,a 2 ,a 1 ,a 0 ) 1024
(mit Ziffern
0
≤ a i < 1024). Fur den eben betrachteten Fall der ersten 1024 Seiten gilt
a 1 = a 2 = a 3 = a 4 =0.Einzig a 0 wird benutzt, um den PTE aufzufinden.
Wir betrachten als nachstes den Fall a 1 > 0 (und a 0 beliebig, alle anderen
a i null): Nach den 1024 PTE fur die ersten 1024 Seiten kommen weitere
1024 Eintrage, aber keine Page Table Entries, sondern so genannte Page
Table Pointer , von denen jeder auf einen Block von 1024 PTE verweist. In
dem Block wird der PTE uber a 0 ausgewahlt. Die Struktur von Page Table
Pointern zeigt Abbildung 8.5.
Die Elemente bedeuten im Einzelnen:
c bezeichnet eine Adresse im physischen Speicher, an der weitere Page
Table Pointer oder Page Table Entries zu finden sind.
n ist wieder die Nummer des Adressraumes.
q - dieses Feld ist ungenutzt.
Im Beispiel a 1 > 0wirdderEintrag a 1 gewahlt, an Adresse 2 13 ·
( r +1)+ a 1 .
Sind a i > 0fur i> 1 so verweist der erste PTP auf einen Block mit 1024
weiteren PTP, bis schließlich a 1 auf PTE verweist. Im Extremfall werden also
schrittweise uber a 4 , a 3 , a 2 und a 1 weitere Page Table Pointer geladen, bis
a 1 einen Block von Page Table Entries adressiert, aus dem schließlich mit a 0
einer gewahlt werden kann. Dies bedeutet, dass zum Au nden eines PTE
unter Umstanden mehrere Speicherzugriffe erforderlich sind. Insbesondere
dauert das Au nden eines zu einer Adresse gehorenden PTE umso langer,
je großer die Adresse ist.
Abbildung 8.6 zeigt die Organisation der PTP und PTE bei MMIX .
Ubung 8.4.1 An welcher Stelle im Speicher mussten in der Standardkon-
figuration welche Page Table Pointer sowie ein Page Table Entry erganzt
werden, damit im Meta-Simulator auch Speicher an der virtuellen Adresse
#3000 0000 0000 0000 zur Verfugung stunde?
8.4.1
Search WWH ::




Custom Search