HUMBOLDT-UNIVERSITÄT ZU BERLIN
COMPUTER SCIENCE DEPARTMENT
Systems Architecture Group

Head: Prof. Dr. Jens-Peter Redlich
Secretary:  Silvia Schoch
Phone: +49(30)2093-41150

 

     

Lab 4: HAL MMU

Assignment 12

Die HAL (-Interpreter) soll um eine Memory Management Unit (MMU) erweitert werden:

  • Die Seitengröße beträgt 2K

  • Die zu adressierende Speicherzellen (= HAL-Register) sind 2 Bytes lang.

  • Die Größe des virtuellen Speichers ist 64K.

  • Die Größe des physischen Speichers ist 16K.

  • Die MMU soll Paging verwenden.

  • Die MMU soll dabei als Seitenersetzungsverfahren Least Recently Used (LRU) verwenden.

  • Der Programm-Speicher (Text-Segment) ist separat untergebracht, braucht somit hierbei nicht betrachtet zu werden.

  • Jeder Prozess verwaltet seine eigene Seitentabelle.

  • Jeder Prozess sollte gegen ungewollte, durch andere Prozesse beabsichtigt oder unbeabsichtigt verursachte Störungen geschützt werden.

  • Prozesse sollen nicht auf den selben Teil des Hauptspeichers zugreifen können.

(a) Wie viele Bits braucht man zur Adressierung (Seitennummer, Offset)?

(b) Erweitern Sie Ihren HAL-Interpreter um folgende Instruktionen:

 

Name Operand Bemerkung
LOADIND r Lädt den Inhalt der Speicherzelle, deren Adresse im Register r abgelegt ist.
STOREIND r Speichert den Inhalt des Akkus in der Speicherzelle, deren Adresse im Register r steht.
DUMPREG  

Gibt den Inhalt aller Register über den Kanal 1 in der Form

“Registernummer: Registerinhalt \n” aus.

(c) Implementieren Sie das oben beschriebene Speicherverwaltungskonzept in Ihrer HAL. Jeder Seitenfehler ist in einer Log-Datei zu dokumentieren.

(d) Schreiben Sie ein HAL-Programm, welches vom ersten Eingabekanal Zahlen einliest und diese in einem Feld im Speicher ablegt. Bei Einlesen der Zahl -1 wird der Einlesevorgang beendet und das nun vorliegende Feld mit Hilfe von Bubble-Sort aufsteigend sortiert. Nach erfolgreicher Sortierung wird das Feld auf dem ersten Ausgabekanal ausgegeben.

Assignment 13

Testen Sie Ihr Programm (Unittest).

Legal disclaimer. .  © 2024 Humboldt-Universität zu Berlin, Computer Science Department, Systems Architecture Group. Contact: sar@informatik.hu-berlin.de .