Paging-System berechnen

Ich muss dieses Problem lösen und habe die Antworten, aber ich versuche, die Konzepte dahinter zu verstehen.

Ein Paging-System hat die folgenden Parameter: 2^32 Byte physikalischer Speicher; Seitengröße von 2^10 Bytes; 2^16 Seiten logischer Adressraum.

  1. How many bits are in a logical address? 26 bits
  2. How many bytes are in a frame? (?)
  3. How many bits are in the physical address specifying the frame? 22 bits
  4. How many entries in the page table? 2^16
  5. How many bits in each page table entry? Assume each page table entry contains a valid/invalid bit. 23 bits
Als Nebenbemerkung für alle, die sich mit dieser (eindeutig akademischen) Frage befassen und sich fragen, wie sie sich auf die reale Welt bezieht: Logische Adressräume sind normalerweise eher größer als kleiner als physische Adressen in echten Prozessoren. 2^10 ist eine sehr kleine Seitengröße; 2 ^ 12 ist die kleinste gebräuchliche Größe, aber es wird allgemein angenommen, dass größere Größen in den meisten Fällen besser sind. Die Frage geht von einer Seitentabelle auf einer einzelnen Ebene aus, aber die meisten aktuellen Systeme sind entweder hierarchisch oder verwenden irgendeine Form von inhaltsadressierbarem Speicher oder programmierbarer Suche, um zu vermeiden, dass Seitentabellen erforderlich sind, die den gesamten Raum abdecken.

Antworten (1)

Ok, lass es uns aufschlüsseln:

  • Physisch: 2 32
  • Seitengröße: 2 10
  • Anzahl der Seiten: 2 16

    1. Wie viele Bits in einer logischen Adresse? Das sind die Seitenadressenbits plus die Anzahl der Seitenbits. Der obere Teil einer Adresse ist die Seitennummer (16 Bit) und der untere Teil ist der Offset innerhalb dieser Adresse (10 Bit), sodass die gesamte Adressgröße 26 Bit (10 26 Byte) beträgt .
    2. Wie viele Bytes sind in einem Frame? Ein Rahmen ist der Ort, an dem eine Seite in den Speicher abgebildet werden kann, daher muss ein Rahmen die gleiche Größe wie eine Seite haben - 2 10 Bytes.
    3. Wie viele Bits enthält die physikalische Adresse, die den Frame angibt? Nun, Sie haben 32 Bits der physikalischen Adresse und ein Frame ist 2 10 groß, sodass 22 der Bits (32 - 10) für die Basisadresse des Frames übrig bleiben.
    4. Wie viele Einträge in der Seitentabelle? Die Seitentabelle ist die vollständige Liste von Seiten, egal ob zugeordnet oder nicht zugeordnet - es gibt also 2 16 Einträge in der Seitentabelle, da es 2 16 Seiten gibt.
    5. Wie viele Bits in jedem Seitentabelleneintrag? Angenommen, jeder Seitentabelleneintrag enthält ein gültig/ungültig-Bit. Wenn jede Seite einem Eintrag in der Seitentabelle zugeordnet ist und diese Tabelle eine Liste der Adressen ist, an denen die Seiten im physischen Speicher zugeordnet sind, muss jede Adresse in der Tabelle die Größe von Antwort 3 (22 Bit) plus eins haben Bit für das gültige/ungültige Bit, also 23 Bit.

Ist das übersichtlicher?