MMU - Memory Management Unit[gelöst]



  • Hallo zusammen,

    sitze gerade an einer Aufgabe für die Betriebssysteme-Vorlesung
    und komme einfach nicht weiter. Wir sollen für unseren HAL(ist ein
    Programm das wir voher programmiert haben, das HAL-Programme(ähnlich
    wie Assembler-Programme) interpretiert und ausführt) eine MMU
    programmieren. Doch irgendwie finde ich keinen Anfang.

    Hier die Aufgabenstellung:

    Die HAL-1961 (von Aufgabe 7) soll um eine MMU erweitert werden.

    - Der Speicher ist wort-adressiert (nicht byte-addressiert).

    - Adressen sind 16 Bit breit – allerdings sind Adressen großer als 4096 nicht erlaubt.

    - Die virtuelle Adressraum hat eine Größe von 4096 Wörter.

    - Die Seitengröße beträgt 512 Wörter.

    - Der Datenspeicher hat eine Größe von 2048 Wörter.

    - Es gibt also 8 (virtuellen) Seiten und 4 (physischen) Seitenrahmen.

    - Tritt ein Seitenfehler auf, soll die älteste Seite verdrängt werden.

    - Jeder Prozess braucht eine Seitentabelle. Die Seitentabellen brauchen
    ..nicht im Datenspeicher gehalten zu werden, sondern können in einer
    ..entsprechenden Datenstruktur (Array o.Ä) gehalten werden.

    - Seiten, die sich nicht im Hauptspeicher der HAL befinden, brauchen nicht
    ..wirklich auf die Platte geschrieben zu werden, sondern können in einer
    ..entsprechenden Datenstruktur (Array o.Ä = eine virtuelle Festplatte!)
    ..gehalten werden.

    Implementieren Sie das oben beschriebene Speicherverwaltungskonzept in Ihrer
    HAL aus Aufgabe 7! Realisieren Sie dazu eine Funktion für die MMU der Art: int mmu(int adr)
    welche Sie einsetzen können, um aus einer virtuellen Adresse eine physische zu ermitteln

    War in der Vorlesung über die MMU nicht da und das Skript und Wikipedia
    hilft mir im Moment auch irgendwie nicht weiter...

    Vielleicht kann mir ja einer von euch einen Tip geben wie ich das am
    besten umsetzen könnte, will natürlich keine komplett Lösung aber ein paar
    Hinweise wären schon toll.

    mfg smilingman



  • Hat sich erledigt, habs glaub ich hinbekommen...

    mfg smilingman


Anmelden zum Antworten