vitueller <-> realer Speicher, Seitentabelle

Dieses Thema im Forum "Informatik" wurde erstellt von cee, 25 Sep. 2007.

  1. Hallo!

    Im BeSy LM1 Seite 48 ist die Berechnung der virtuellen in die physikalische Adresse beschrieben. Der vituelle Adressraum ist 32Bit, also 4GByte Groß, der virtuelle 1MByte, also 20Bit. Die Seiten sind 4096Byte groß.

    12Bit, nämlich die Größe der einzelnen Seite sind der Offset, der von der virtuellen Adresse abgeschnitten wird.

    Nur zum Verständnis. Hab ich es richtig Verstanden, daß man also praktisch immer die Größe der Seite als Offset benötigt um innerhalb der Seite auf eine Speicherstelle zu referenzieren, und der Rest der Adresse eigentlich Adressen der einzelnen Seiten sind?

    Also ein Beispiel:

    32Bit Adressraum, 4K Seiten

    Erst mal ne zählreihe:
    1234567890123456789012345678912
    0000000000000000000000000000000 --> Speicherstelle 0 in Seite 0
    0000000000000000000000000000010 --> Speicherstelle 2 in Seite 0
    0000000000000000000100000000000 --> Speicherstelle 0 in Seite 1
    0000000000000000001000000000000 --> Speicherstelle 0 in Seite 2

    usw?

    In der Seitentabelle steht dann an der Stelle von der adressierten Seite die Referenz auf die Adresse des Seitenrahmens im realen Speicher. Die Speicherstelle innerhalb der virtuellen Seite ist dieselbe wie innerhalb der realen Seite im Seitenrahmen.

    Würde ich jetzt die Seiten auf 8KByte erhöhen, würden 13Byte benötigt um innerhalb der Seiten zu Adressieren, und ich hätte im selben virtuellen Adressraum nur noch 19Bit für die Seitenadressierung?

    Die Anzahl der Seiten (und die muss man ja ab und an berechnen) ist also immer gleich des Adressraums mit denen ich die Seiten adressieren kann, also im ersten Beispiel \small 2^{20} im zweiten \small 2^{19}

    Logischer wirds, wenn man die Größe des virtuellen Speichers duch die Größe einer Seite teilt (denn so viele Seiten benötigt man ja um den Speicherplatz abzubilden)

    also für 4k (12Bit) Seiten in einem 32Bit Adressraum:
     \frac{2^{32}}{2^{12}} \text { |kuerzen}\\ \frac{2^{20}}{2^{0}} \\2^{20}

    Jetzt wirds mir während dem Erstellen des Beitrags selbst klar, ich poste es trotzdem mal. Eine Bestätigung wäre trotzdem nett :)

    Chris...
     

Diese Seite empfehlen