Speicher der Memory Management Unit



  • Soweit ich das verstehe ist die Memory Management Unit ja dafür verantwortlich, virtuelle Speicheradressen in physikalische umzusetzen. Und zwar auf Basis von Blöcken (4 KB?).
    Wenn ich jetzt 8 GB RAM habe, dann sind das über 2 Millionen Blöcke. Pro Block muss man sicher noch einiges an Information speichern, gehen wir mal von 10 Bytes aus. Dann sind wir schon bei 20 MB Speicher, den die MMU braucht.

    Hat die MMU ihren eigenen, schnellen Speicher? Der wäre ja bei der Größe ziemlich teuer! Oder benutzt sie den Systemspeicher mit und hat nur einen Cache?



  • Zum Nachlesen:
    http://de.wikipedia.org/wiki/Paging
    http://en.wikipedia.org/wiki/Translation_lookaside_buffer

    Grob: Adressen können auch anhand der Startadresse und eines Offsets berechnet werden und der TLB dient als Cache für die letzten berechneten Adressen

    Eine Liste mit 2Mio. Blöcken wäre viel zu langsam



  • Die 20MB Daten (oder wie viel es dann wirklich sind) stehen ja auch im Hauptspeicher und nicht in der MMU 🙂


Log in to reply