php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Hilfe: Aufgabe - Speicherverwaltung (Microcontroller)


 
matcho
21-07-2010, 12:42 
 
Hallo,
ich habe eine kleine Frage und hoffe, es kann mir jemand weiterhelfen.
Ich weiß nicht, ob ich auch in der richtigen Kategorie poste.

Ich habe einen Microcontroller mit 32KB Hauptspeicher und der nach der LRU-Strategie verwaltet wird. Seitengröße beträgt 4KB und einer Adresslänge von 16 Bit.

Erst einmal müssten 12 Seitendeskriptoren benötigt werden, richtig??

Weiterhin habe ich folgende Belegung des Hauptspeichers:
http://www.kardastrophal.de/aufgabe.gif

Dabei wird die LRU-Strategie durch einen Dreibit-Zähler realisiert.
Nun die große Frage. Wie ändert sich die Belegung und die Zählerstände bei folgender Zugriffsequenz:
Zugriff auf Seite(2)
Zugriff auf Seite(16)
Zugriff auf Seite(1)
Zugriff auf Seite(5)

Also ich muss zugeben, dass mir die Thematik komplett fremd ist. Ich finde leider keinen Ansatz.

 
onemorenerd
21-07-2010, 14:52 
 
Crossposting! (http://forum.fachinformatiker.de/pruefungsaufgaben-loesungen/140363-aufgabe-speicherverwaltung-microcontroller.html):motz: (http://forum.fachinformatiker.de/pruefungsaufgaben-loesungen/140363-aufgabe-speicherverwaltung-microcontroller.html)

 
matcho
21-07-2010, 15:16 
 
und wenn schon,
ne antwort erhalte ich dennoch nicht.... :charity:

 
onemorenerd
21-07-2010, 15:29 
 
Wo klemmt es denn? Du musst nur schauen, ob die angeforderte Seite da ist und falls ja, Zähler anpassen, falls nicht, Seite laden und ebenfalls Zähler anpassen. Ist kein Slot frei, musst du vor dem Laden einen frei machen. Hier kommt die LRU-Strategie ins Spiel: Es wird der Slot frei gemacht, auf den am längsten nicht zugegriffen wurde.

Der Fallstrick bei dieser Aufgabe ist der 3-bit Zähler - nach 7 kommt wieder 0 - und damit verbunden die Bestimmung des Slots, auf dem am längsten nicht zugegriffen wurde - größte Differenz zum aktuellen Zählerstand. Dafür muss man wissen, wie man mit Überläufen rechnet. ;)

 
matcho
21-07-2010, 15:53 
 
naja kleines beispiel:
zuerst soll auf Seite(2) zugegriffen werden. Seite 2 befindet sich hinter der adresse 2000h (was aber nur nebensächlich ist?) und hat den zählerstand von 2.

Da ich nun auf Seite(2) zugreife, setze ich den Zähler einfach auf 3?
Und was hat genau die LRU-Strategie damit zu tun. (Wiki sagt: lagert diejenige Seite aus, deren letzte Referenzierung zeitlich am längsten zurückliegt, aber welche soll das denn nun sein?)

ich blick einfach nicht hinter die genaue technik bzw vorgehensweise...

 
onemorenerd
22-07-2010, 10:53 
 
Hast du meinen Beitrag nicht gelesen oder nicht verstanden?


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:16 Uhr.