GRa Klausur SS 11


weiss nicht ob ich dich grad richtig verstanden habe. aber ich denke mit

ist gemeint, dass die OP-Phase incl. Felderzugriff (und DE-Phase) in einem Takt abläuft.
nicht gerade eine präzise angabe. aber anders kann ich mir die lösung nicht erklären

1 „Gefällt mir“

So betrachtet gibt die f) auch wieder Sinn. Dann einigen wir uns am besten darauf.


0x74 zeigt doch in den Block der von 0x70 bis 0x77 geht, da geht nichts über Blockgrenzen?


Wenn der Integer-Werk mit 8 Byte (EDIT: siehe) erst bei 0x74 beginnt, geht der doch zur Hälfte in den Block ab 0x78 hinein. Oder seh ich das falsch? :huh:


Ich kann jetzt leider auch nicht nachvollziehen, warum das über Blockgrenzen gehen soll. 0x74 - 0x77 ^= 4 Byte = 32 Bit = sizeof(int)-


Ohh, ein Integer sind ja nur 4 Byte :blush:. Vergesst, was ich gesagt hab…


Bei der Paging-Aufgabe 4d), was genau steht im TLB.

Grundsätzlich speichert der TLB ja physikalische Adressen zu virtuellen Adressen. Nun stellt sich mir aber die Frage: Speichert der TLB wirklich physikalische Adressen zu einer konkreten virtuellen Adresse?
Also Beispiel aus der Aufgabe: 0x00802111 virt. → 0xE0120111
Odeer werden vielmehr die höherwertigen Bits einer physikalischen Adresse gespeichert, was dann das Nachschauen mehrerer Adressen vom gleichen Typ ermöglicht:
Beispiel: 0x00802 virt → 0xE0120
So könnten dann alle virtuellen Adressen dieser Art sehr einfach zugeordet werden.

Zur gleichen Aufgabe noch eine 2. Frage: Der Zugriff auf 0x003FF124 greift auf eine Seite in der Tabelle zu, die offensichtlich ausgelagert ist, wenn ich mich nicht täusche(0x3FF der ersten Tabelle). Jetzt müsste diese Seite ja egtl. eingelagert werden und dann die Adresse der Seite im TLB gespeichert werden. Allerdings ist doch nicht sicher gestellt, dass nach der Einlagerung der Seite diese wieder die entsprechende physikalische Adresse erhält, sondern sie bekommt halt die nächste die frei ist.
Wie macht man das nun im TLB deutlich?


Der TLB ist ein Cache für die Seitentabellen, also speichert er afaik die Seiten und keine konkreten Adressen (EDIT: Das war so natürlich Quatsch, siehe).

Der TLB darf keine ausgelagerten Seiten enthalten.
Bei Einlagern ist laut Fragestunde das Vorgehen so, dass die Seite eingelaget wird, die Tabellen aktualisert und dann der ursprüngliche Befehl nochmal auf der CPU ausgeführt. Bei diesem zweiten Zugriff ist die Seite dann eingelagert, die Information wandert in den TLB und ist danach dort gecacht.


zu Frage 1:
Du speicherst nur den Tag und die dazugehörige phys. Adresse. Siehe auch vorletzte Vorlesungsaufzeichnung ganz am Ende.
Bei der Aufgabe wäre es z.B. TLB: 0x00802 → 0xE0120

Frage 2:
darüber, dass die fehlende Seite eingelagert werden müsste, habe ich gar nicht nachgedacht. Kann ich leider nicht weiterhelfen.
EDIT: Bei der in der Vorlesung besprochenen Aufgabe wurden ja einfach alle nicht referenzierten Pages nicht in den TLB geschrieben…


So sehe ich das auch, nur dass die 2 Bit „1 1“, die die Zeile angeben (Index) auch nicht mehr im Tag enthalten sind, sodass der Tag meiner Meinung nach nur einfach 0 wäre an der Stelle.

(Und „0x“ bezeichnet gewöhnlich Hex-Zahlen, somit würde ich das vor der binären schreibweise deines Tags weglassen, denn 0x00011000 wäre 69632 und nicht die gewollten 24)

1 „Gefällt mir“

Hast in beiden Punkten recht.


Könntet jemand ein richtiges Update für den Cacheinhalt machen. Für mich ist interessant, welche Daten kopiert werden?
Danke!


[quote=F30]
Der TLB ist ein Cache für die Seitentabellen, also speichert er afaik die Seiten und keine konkreten Adressen.[/quote]

Auf der Folie 41 Kapitel 5 steht: TLB ist Voll-assoziativer Cache für virtuelle Adressen aus Seitentabelle


Hä? Nein der Cache speichert nicht die komplette Seite, sondern den Eintrag der Seitentabelle - und das ist genau die Abbildung virtuelle Adresse → physikalische Adresse, bzw. den Teil davon, der relevant ist.


Ja, das meinte ich schon. Hab mich da aber falsch ausgedrückt, mein Fehler. Richtig müsste der zweite Teil meines Satzes lauten „er speichert die Zuordnung virtuell/physikalisch der Seiten und nicht der einzelnen Adressen“.
Sind wir uns dann einig? :wink:


Würde da noch ein eventuelles readOnly-Bit mit reinkommen?


Hm. Im Beispiel in der Vorlesung haben wir sowas ja nicht gemacht.


Ich würde eher sagen, dass das in die Seitentabelle / TLB gehört.
Edit: Es ging ja um den TLB :smiley:


Meinte ich doch ^^ bezogen auf den TLB …

Grad gefunden:


→ Einsicht → diskutieren :smiley: