Wofür ist der Offset im Virtual Memory?
Folgende Informationen stehen mir zur Verfügung:
-
28-Bit-Adressen
2^28 Byte virtual memory Adressierbar
16-Bit Nummer der Seite (page)
12 Bit Offset
4 MiB adressierbarer physischer Speicher
-
Nun weiß ich nicht, was ich mit dem Offset anstellen soll...
Zum Berechnen der Anzahl Frames benötige ich nur die Größe des physischen Speicher und die Größe einer Page, richtig? Die Größe einer Page beträgt 16 Bit = 2 Byte.
Um die Größe einer einstufigen Seitentabelle benötige ich nur die Größe für einen Eintrag in der Tabelle, die Größe einer Page, und den virtuellen Adressbereich (2^28)
Muss ich den Offset in meine Berechnungen irgendwie mit einbeziehen?
3 Antworten
Das Offset ist die Addresse innerhalb einer Seite.
Sprich jede Seite/Page besteht aus 2^12 = 4096 Bytes.
Es gibt 2^16 Pages also 65536.
12 bit Offset bedeutet, dass von den 28 bit einer virtuellen Adresse 12 bit für die Adressierung innerhalb der Seiten verwendet werden und die restlichen 16 bit zur Adressierung der Seiten.
2^16 Seiten, die 16 Bit numerieren die einzelnen Seiten.
Schau Dir bitte nochmal die Grundlagen an: