Tutorium Rechnerorganisation

Ähnliche Dokumente
Besprechung des 8. Übungsblattes Einführung in Caches Cache-Organisation Cache-Ersetzungsstrategien Aufgaben (an der Tafel) Testklausur

Tutorium Rechnerorganisation

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben

Lösungsvorschlag zur 5. Übung

RO-Tutorien 15 und 16

, 2014W Übungsgruppen: Mo., Mi.,

Grob-Struktur des Prozessor-Speichersystems

Speicherhierarchie, Caches, Consistency Models

Technische Informatik 1 - Übung & 22. Dezember Philipp Miedl

Technische Informatik I. Übung 3 Speicherhierarchie. v t d 0 d 1 d 2 d Technische Informatik I Übung 3. Technische Informatik I Übung 3

Aufgabe 4 : Virtueller Speicher

Technische Informatik 1 - HS 2017

Betriebssysteme (BTS)

Tutorium Rechnerorganisation

Übung zu Einführung in die Informatik # 10

Cache. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011

Lösungsvorschlag zur 6. Übung

Übung Praktische Informatik II

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl

Vorlesung Rechnerarchitektur. Speicher V 1.2

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 9 und Präsenzaufgaben Übung 10

Speicherverwaltung (Swapping und Paging)

Quiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset.

Grundlagen der Rechnerarchitektur. Speicher

Name: Vorname: Matr.-Nr.: 4. a) RISC-Architekturen müssen zur Decodierung von Maschinenbefehlen stets ein mikroprogrammierbares Steuerwerk verwenden.

Lösung von Übungsblatt 2

1. räumliche Lokalität - Nach dem Zugriff auf eine bestimmte Adresse erfolgt in naher Zukunft ein erneuter Zugriff auf ein dazu benachbartes Datum.

Cache Grundlagen. Schreibender Cache Zugriff. SS 2012 Grundlagen der Rechnerarchitektur Speicher 22

Cache Blöcke und Offsets

, WS2012 Übungsgruppen: Mo., Do.,

Freispeicherverwaltung

Lösung von Übungsblatt 2

Einführung in die Systemprogrammierung

6 Exkurs: Assoziativspeicher

Grundlagen der Rechnerarchitektur

6 Exkurs: Assoziativspeicher (2) 6 Exkurs: Assoziativspeicher. 7.1 Speicherhierarchie. 7 Caches

(Cache-Schreibstrategien)

Speicher Typen. TI-Übung 5. Speicher SRAM. Speicher DRAM. SRAM vs. DRAM (EEP)ROM, NV-RAM, Flash,... Speicher, Caches

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation

G. Caches. G.1.1 Kontext & Orientierung

Technische Realisierung (1)

Grundlagen der Informationsverarbeitung:

1. Welche Speichereinheiten werden belegt, wenn die folgenden Strategien eingesetzt werden?

Virtueller Speicher und Memory Management

RO-Tutorien 3 / 6 / 12

Schriftliche Prüfung

Schriftliche Prüfung. Aufgaben OTTO-VON-GUERICKE-UNIVERSITÄT MAGDEBURG FAKULTÄT FÜR INFORMATIK. Technische Informatik II. am:

3.Vorlesung Systemsoftware (SYS) Hochschule Mannheim

Tutorium Rechnerorganisation

Speicherhierarchie. [Technische Informatik Eine Einführung] Univ.-Prof. Dr. Paul Molitor

5. Aufgabenblatt Speicherverwaltung

Wie groß ist die Page Table?

Cache-Kohärenz und -Konsistenz. Betreuer: Prof. Brüning Veton Kajtazi Mat.-Nr.: Universität Heidelberg

Einführung in die technische Informatik

Lösungsvorschlag zur 8. Übung

2.3 Prozessverwaltung

Klausur Mikroprozessortechnik

Paging. Einfaches Paging. Paging mit virtuellem Speicher

Tutorium Rechnerorganisation

Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

Lösung von Übungsblatt 5

RO-Tutorien 3 / 6 / 12

Speicherarchitektur (1)

Speicher. Speicher. Speicherhierarchie. Speicher. Interessante Zahlen:

RO-Tutorien 15 und 16

Teil 2: Speicherstrukturen

Computational Engineering I

Lehrveranstaltung: PR Rechnerorganisation Blatt 10. Thomas Aichholzer

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 6 und Präsenzaufgaben Übung 7

Schreiben von Pages. Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen).

RO-Tutorien 3 / 6 / 12

Algorithmen II Vorlesung am

Verbesserung der Leistungsfähigkeit von Caches

2. Ansatzpunkt: Reduktion der Penalty Early Restart und critical word first

Transkript:

Woche 10 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Heute Einführung in Caches Übungsaufgaben 2 Christian A. Mandery:

Wozu Caches? Wo braucht man einen (CPU-)Cache? 3 Christian A. Mandery:

Wozu Caches? Wo braucht man einen (CPU-)Cache? Zugriff auf Speicher ist zeitintensiv, CPU muss unnötig warten 3 Christian A. Mandery:

Wozu Caches? Wo braucht man einen (CPU-)Cache? Zugriff auf Speicher ist zeitintensiv, CPU muss unnötig warten Cache speichert häufig oder wahrscheinlich verwendete Speicherzellen zwischen Zeitliche Lokalität: Wenn eine Speicherzelle referenziert wurde, ist es wahrscheinlich, dass sie in naher Zukunft wieder referenziert wird. Örtliche Lokalität: Referenzierte Speicherzellen liegen oft in der Nähe der zuvor- referenzierten Speicherzellen. 3 Christian A. Mandery:

Wozu Caches? Wo braucht man einen (CPU-)Cache? Zugriff auf Speicher ist zeitintensiv, CPU muss unnötig warten Cache speichert häufig oder wahrscheinlich verwendete Speicherzellen zwischen Zeitliche Lokalität: Wenn eine Speicherzelle referenziert wurde, ist es wahrscheinlich, dass sie in naher Zukunft wieder referenziert wird. Örtliche Lokalität: Referenzierte Speicherzellen liegen oft in der Nähe der zuvor- referenzierten Speicherzellen. Oft Hierarchie von Cache-Speichern: L1-Cache, L2-Cache,... 3 Christian A. Mandery:

Begriffe In VL Rechnerorganisation: Beschränkung auf CPU-Caches Cache-Hit: Benötigtes Datenwort ist im Cache gespeichert und kann von dort geladen werden Cache-Miss: Benötigtes Datenwort ist nicht im Cache gespeichert und muss aus dem Speicher geladen werden Hit-Rate: Anteil der Cache-Hits an den Gesamtzugriffen (gibt Effizienz an) 4 Christian A. Mandery:

Begriffe In VL Rechnerorganisation: Beschränkung auf CPU-Caches Cache-Hit: Benötigtes Datenwort ist im Cache gespeichert und kann von dort geladen werden Cache-Miss: Benötigtes Datenwort ist nicht im Cache gespeichert und muss aus dem Speicher geladen werden Hit-Rate: Anteil der Cache-Hits an den Gesamtzugriffen (gibt Effizienz an) 4 Christian A. Mandery:

Begriffe In VL Rechnerorganisation: Beschränkung auf CPU-Caches Cache-Hit: Benötigtes Datenwort ist im Cache gespeichert und kann von dort geladen werden Cache-Miss: Benötigtes Datenwort ist nicht im Cache gespeichert und muss aus dem Speicher geladen werden Hit-Rate: Anteil der Cache-Hits an den Gesamtzugriffen (gibt Effizienz an) 4 Christian A. Mandery:

Begriffe In VL Rechnerorganisation: Beschränkung auf CPU-Caches Cache-Hit: Benötigtes Datenwort ist im Cache gespeichert und kann von dort geladen werden Cache-Miss: Benötigtes Datenwort ist nicht im Cache gespeichert und muss aus dem Speicher geladen werden Hit-Rate: Anteil der Cache-Hits an den Gesamtzugriffen (gibt Effizienz an) 4 Christian A. Mandery:

Begriffe Cachezeile/Cacheblock: Datenmenge, mit der der Cache befüllt wird (meist größer als Wortbreite) Offset: Niedrigstwertige Adressbits, geben Position innerhalb der Cachezeile an Tag: Höchstwertige Adressbits, werden zur Identifikation der im Cache vorhandenen Speicherbereiche in jeder Cachezeile mitgespeichert Status Bits: Zusätzliche Informationen, die pro Cachezeile mitgespeichert werden, z.b.: Valid Bit: Gibt an, ob eine Cachezeile gültig ist Dirty Bit: Gibt an, ob eine Cachezeile gegenüber dem Speicher verändert wurde (für Rückschreibeverfahren) 5 Christian A. Mandery:

Begriffe Cachezeile/Cacheblock: Datenmenge, mit der der Cache befüllt wird (meist größer als Wortbreite) Offset: Niedrigstwertige Adressbits, geben Position innerhalb der Cachezeile an Tag: Höchstwertige Adressbits, werden zur Identifikation der im Cache vorhandenen Speicherbereiche in jeder Cachezeile mitgespeichert Status Bits: Zusätzliche Informationen, die pro Cachezeile mitgespeichert werden, z.b.: Valid Bit: Gibt an, ob eine Cachezeile gültig ist Dirty Bit: Gibt an, ob eine Cachezeile gegenüber dem Speicher verändert wurde (für Rückschreibeverfahren) 5 Christian A. Mandery:

Begriffe Cachezeile/Cacheblock: Datenmenge, mit der der Cache befüllt wird (meist größer als Wortbreite) Offset: Niedrigstwertige Adressbits, geben Position innerhalb der Cachezeile an Tag: Höchstwertige Adressbits, werden zur Identifikation der im Cache vorhandenen Speicherbereiche in jeder Cachezeile mitgespeichert Status Bits: Zusätzliche Informationen, die pro Cachezeile mitgespeichert werden, z.b.: Valid Bit: Gibt an, ob eine Cachezeile gültig ist Dirty Bit: Gibt an, ob eine Cachezeile gegenüber dem Speicher verändert wurde (für Rückschreibeverfahren) 5 Christian A. Mandery:

Begriffe Cachezeile/Cacheblock: Datenmenge, mit der der Cache befüllt wird (meist größer als Wortbreite) Offset: Niedrigstwertige Adressbits, geben Position innerhalb der Cachezeile an Tag: Höchstwertige Adressbits, werden zur Identifikation der im Cache vorhandenen Speicherbereiche in jeder Cachezeile mitgespeichert Status Bits: Zusätzliche Informationen, die pro Cachezeile mitgespeichert werden, z.b.: Valid Bit: Gibt an, ob eine Cachezeile gültig ist Dirty Bit: Gibt an, ob eine Cachezeile gegenüber dem Speicher verändert wurde (für Rückschreibeverfahren) 5 Christian A. Mandery:

Gründe für Cache-Misses 6 Christian A. Mandery:

Gründe für Cache-Misses Compulsary Miss: Erster Zugriff auf Speicherbereich 6 Christian A. Mandery:

Gründe für Cache-Misses Compulsary Miss: Erster Zugriff auf Speicherbereich Capacity Miss: Speicherdatum wurde aufgrund der beschränkten Cachegröße aus Cache verdrängt 6 Christian A. Mandery:

Gründe für Cache-Misses Compulsary Miss: Erster Zugriff auf Speicherbereich Capacity Miss: Speicherdatum wurde aufgrund der beschränkten Cachegröße aus Cache verdrängt Conflict Miss: Speicherdatum wurde aufgrund Einschränkungen der Cache-Organisation aus Cache verdrängt 6 Christian A. Mandery:

Gründe für Cache-Misses Compulsary Miss: Erster Zugriff auf Speicherbereich Capacity Miss: Speicherdatum wurde aufgrund der beschränkten Cachegröße aus Cache verdrängt Conflict Miss: Speicherdatum wurde aufgrund Einschränkungen der Cache-Organisation aus Cache verdrängt Coherency Miss: Cachekohärenz des Speicherdatums im Cache ist nicht gegeben (nur bei Multiprozessor-Systemen) 6 Christian A. Mandery:

Cache-Organisation Festlegung, wo eine bestimmte Adresse im Cache abgelegt und gesucht werden muss Voll-assoziativer Cache (AV) Direkt-abgebildeter Cache (DM) n-fach satzassoziativer Cache (An) 7 Christian A. Mandery:

Voll-assoziativer Cache Speicheradresse kann in jeder Cachezeile stehen Alle Cachezeilen sind gleichberechtigt Effizient: Conflict Misses sind nicht möglich Hoher Schaltungsaufwand: Beim Suchen muss der Tag jeder einzelnen Cachezeile verglichen werden 8 Christian A. Mandery:

Direkt-abgebildeter Cache Speicheradresse wird auf genau eine Cachezeile abgebildet Adressbits zwischen Tag und Offset geben die Zeilennummer an Weniger effizient: Effizienzverlust durch Conflict Misses Geringer Schaltungsaufwand: Ein Vergleicher für den gesamten Cache ist ausreichend 9 Christian A. Mandery:

n-fach satzassoziativer Cache Kompromiss zwischen voll-assoziativem und direkt-abgebildetem Cache Speicheradresse wird auf eine Menge von Zeilen ( Satz ) abgebildet Adressbits zwischen Tag und Offset geben die Satznummer an Innerhalb des Satzes muss in allen Zeilen gesucht werden Kompromiss zwischen voll-assoziativem und direkt-abgebildetem Cache: Conflict Misses können auftreten, sind aber unwahrscheinlicher als beim direkt-abgebildeten Cacheblock Es werden n Vergleicher benötigt 10 Christian A. Mandery:

Skizze (Quelle: Wikipedia) 11 Christian A. Mandery:

Aktualisierungsstrategie Wie verhält sich der Cache beim Aktualisieren eines Speicherdatenworts, das im Cache vorhanden ist? Write-Through (Durchschreibeverfahren): Neues Datum wird parallel im Speicher und Cache aktualisiert. Write-Back (Rückschreibeverfahren): Neues Datum wird nur im Cache gespeichert und dort als dirty markiert. Bei Verdrängung muss es vorher in den Speicher zurückgeschrieben werden. Was sind die Vor- und Nachteile? 12 Christian A. Mandery:

Aktualisierungsstrategie Wie verhält sich der Cache beim Aktualisieren eines Speicherdatenworts, das im Cache vorhanden ist? Write-Through (Durchschreibeverfahren): Neues Datum wird parallel im Speicher und Cache aktualisiert. Write-Back (Rückschreibeverfahren): Neues Datum wird nur im Cache gespeichert und dort als dirty markiert. Bei Verdrängung muss es vorher in den Speicher zurückgeschrieben werden. Was sind die Vor- und Nachteile? 12 Christian A. Mandery:

Aktualisierungsstrategie Wie verhält sich der Cache beim Aktualisieren eines Speicherdatenworts, das im Cache vorhanden ist? Write-Through (Durchschreibeverfahren): Neues Datum wird parallel im Speicher und Cache aktualisiert. Write-Back (Rückschreibeverfahren): Neues Datum wird nur im Cache gespeichert und dort als dirty markiert. Bei Verdrängung muss es vorher in den Speicher zurückgeschrieben werden. Was sind die Vor- und Nachteile? 12 Christian A. Mandery:

Aktualisierungsstrategie Wie verhält sich der Cache beim Aktualisieren eines Speicherdatenworts, das nicht im Cache vorhanden ist? Write-Allocate: Auch in Cache schreiben No-Write-Allocate: Keine Cache-Veränderung 13 Christian A. Mandery:

Ersetzungsstrategie Welche Cachezeile wird ersetzt (verdrängt), wenn der Cache voll ist? (nicht notwendig bei direkt-abgebildeten Caches - Warum?) LRU (Least Recently Used) LFU (Least Frequently Used) FIFO (First In First Out) Randomisiert Theoretisches Optimum: Immer denjenigen Eintrag verdrängen, auf den am längsten nicht zugegriffen wird 14 Christian A. Mandery:

Übungsaufgabe 1 Gegeben seien ein direkt-abgebildeter Cache, ein 2-fach satzassoziativer Cache und ein vollassoziativer Cache. Die drei Cachespeicher haben jeweils eine Speicherkapazität von 64 Bytes und werden in Blöcken von je 8 Bytes geladen. Die Hauptspeicheradresse umfasst 32 Bits. Falls notwendig, wird die LRU-Ersetzungsstrategie verwendet. Betrachten Sie die Folge der Lesezugriffe auf die folgenden, in hexadezimaler Schreibweise angegebenen Hauptspeicheradressen: $12, $8A, $9A, $6C, $34, $54, $68, $FE, $17 1. Geben Sie die Längen des Tag-Feldes und die Anzahl der erforderlichen Vergleicher für jede der drei Cache-Architekturen an. 2. Nehmen Sie an, die Caches seien zu Beginn leer. Ermitteln Sie, ob es sich beim Lesezugriff auf die jeweiligen Adressen um einen Cache-Hit oder Cache-Miss handelt. 15 Christian A. Mandery:

Übungsaufgabe 1 Gegeben seien ein direkt-abgebildeter Cache, ein 2-fach satzassoziativer Cache und ein vollassoziativer Cache. Die drei Cachespeicher haben jeweils eine Speicherkapazität von 64 Bytes und werden in Blöcken von je 8 Bytes geladen. Die Hauptspeicheradresse umfasst 32 Bits. Falls notwendig, wird die LRU-Ersetzungsstrategie verwendet. Betrachten Sie die Folge der Lesezugriffe auf die folgenden, in hexadezimaler Schreibweise angegebenen Hauptspeicheradressen: $12, $8A, $9A, $6C, $34, $54, $68, $FE, $17 1. Geben Sie die Längen des Tag-Feldes und die Anzahl der erforderlichen Vergleicher für jede der drei Cache-Architekturen an. 2. Nehmen Sie an, die Caches seien zu Beginn leer. Ermitteln Sie, ob es sich beim Lesezugriff auf die jeweiligen Adressen um einen Cache-Hit oder Cache-Miss handelt. 15 Christian A. Mandery:

Übungsaufgabe 1 Gegeben seien ein direkt-abgebildeter Cache, ein 2-fach satzassoziativer Cache und ein vollassoziativer Cache. Die drei Cachespeicher haben jeweils eine Speicherkapazität von 64 Bytes und werden in Blöcken von je 8 Bytes geladen. Die Hauptspeicheradresse umfasst 32 Bits. Falls notwendig, wird die LRU-Ersetzungsstrategie verwendet. Betrachten Sie die Folge der Lesezugriffe auf die folgenden, in hexadezimaler Schreibweise angegebenen Hauptspeicheradressen: $12, $8A, $9A, $6C, $34, $54, $68, $FE, $17 1. Geben Sie die Längen des Tag-Feldes und die Anzahl der erforderlichen Vergleicher für jede der drei Cache-Architekturen an. 2. Nehmen Sie an, die Caches seien zu Beginn leer. Ermitteln Sie, ob es sich beim Lesezugriff auf die jeweiligen Adressen um einen Cache-Hit oder Cache-Miss handelt. 15 Christian A. Mandery:

Übungsaufgabe 2 Gegeben seien ein direkt-abgebildeter Cache, ein 4-fach satzassoziativer Cache und ein vollassoziativer Cache. Die drei Cachespeicher haben jeweils eine Speicherkapazität von 128 Bytes und werden in Blöcken von je 16 Bytes geladen. Die Hauptspeicheradresse umfasst 32 Bits. Falls notwendig, wird die LRU-Ersetzungsstrategie verwendet. Betrachten Sie die Folge der Lesezugriffe auf die folgenden, in hexadezimaler Schreibweise angegebenen Hauptspeicheradressen: $2D, $38, $9E, $D4, $19, $29, $3E, $9D, $CA 1. Welche Bits der 32-Bit-Adresse bilden (jeweils) Offset, Tag und Index? 2. Der Zustand eines Cacheblocks wird durch zwei Statusbits (Valid-Bit und Dirty-Bit) gekennzeichnet. Wieviel Speicherplatz wird insgesamt für die Realisierung des Tag-Speichers der einzelnen Cache-Speicher benötigt? 3. Nehmen Sie an, die Cache-Speicher seien zu Beginn leer. Ermitteln Sie, ob es sich beim Lesezugriff auf die jeweiligen Adressen um einen Cache-Hit oder Cache-Miss handelt. 16 Christian A. Mandery:

Übungsaufgabe 2 Gegeben seien ein direkt-abgebildeter Cache, ein 4-fach satzassoziativer Cache und ein vollassoziativer Cache. Die drei Cachespeicher haben jeweils eine Speicherkapazität von 128 Bytes und werden in Blöcken von je 16 Bytes geladen. Die Hauptspeicheradresse umfasst 32 Bits. Falls notwendig, wird die LRU-Ersetzungsstrategie verwendet. Betrachten Sie die Folge der Lesezugriffe auf die folgenden, in hexadezimaler Schreibweise angegebenen Hauptspeicheradressen: $2D, $38, $9E, $D4, $19, $29, $3E, $9D, $CA 1. Welche Bits der 32-Bit-Adresse bilden (jeweils) Offset, Tag und Index? 2. Der Zustand eines Cacheblocks wird durch zwei Statusbits (Valid-Bit und Dirty-Bit) gekennzeichnet. Wieviel Speicherplatz wird insgesamt für die Realisierung des Tag-Speichers der einzelnen Cache-Speicher benötigt? 3. Nehmen Sie an, die Cache-Speicher seien zu Beginn leer. Ermitteln Sie, ob es sich beim Lesezugriff auf die jeweiligen Adressen um einen Cache-Hit oder Cache-Miss handelt. 16 Christian A. Mandery:

Übungsaufgabe 2 Gegeben seien ein direkt-abgebildeter Cache, ein 4-fach satzassoziativer Cache und ein vollassoziativer Cache. Die drei Cachespeicher haben jeweils eine Speicherkapazität von 128 Bytes und werden in Blöcken von je 16 Bytes geladen. Die Hauptspeicheradresse umfasst 32 Bits. Falls notwendig, wird die LRU-Ersetzungsstrategie verwendet. Betrachten Sie die Folge der Lesezugriffe auf die folgenden, in hexadezimaler Schreibweise angegebenen Hauptspeicheradressen: $2D, $38, $9E, $D4, $19, $29, $3E, $9D, $CA 1. Welche Bits der 32-Bit-Adresse bilden (jeweils) Offset, Tag und Index? 2. Der Zustand eines Cacheblocks wird durch zwei Statusbits (Valid-Bit und Dirty-Bit) gekennzeichnet. Wieviel Speicherplatz wird insgesamt für die Realisierung des Tag-Speichers der einzelnen Cache-Speicher benötigt? 3. Nehmen Sie an, die Cache-Speicher seien zu Beginn leer. Ermitteln Sie, ob es sich beim Lesezugriff auf die jeweiligen Adressen um einen Cache-Hit oder Cache-Miss handelt. 16 Christian A. Mandery:

Übungsaufgabe 2 Gegeben seien ein direkt-abgebildeter Cache, ein 4-fach satzassoziativer Cache und ein vollassoziativer Cache. Die drei Cachespeicher haben jeweils eine Speicherkapazität von 128 Bytes und werden in Blöcken von je 16 Bytes geladen. Die Hauptspeicheradresse umfasst 32 Bits. Falls notwendig, wird die LRU-Ersetzungsstrategie verwendet. Betrachten Sie die Folge der Lesezugriffe auf die folgenden, in hexadezimaler Schreibweise angegebenen Hauptspeicheradressen: $2D, $38, $9E, $D4, $19, $29, $3E, $9D, $CA 1. Welche Bits der 32-Bit-Adresse bilden (jeweils) Offset, Tag und Index? 2. Der Zustand eines Cacheblocks wird durch zwei Statusbits (Valid-Bit und Dirty-Bit) gekennzeichnet. Wieviel Speicherplatz wird insgesamt für die Realisierung des Tag-Speichers der einzelnen Cache-Speicher benötigt? 3. Nehmen Sie an, die Cache-Speicher seien zu Beginn leer. Ermitteln Sie, ob es sich beim Lesezugriff auf die jeweiligen Adressen um einen Cache-Hit oder Cache-Miss handelt. 16 Christian A. Mandery:

Übungsaufgabe 3 Gegeben seien ein direkt-abgebildeter Cache, ein 4-fach satzassoziativer Cache und ein vollassoziativer Cache. Die drei Cachespeicher haben jeweils eine Speicherkapazität von 128 Bytes und werden in Blöcken von je 8 Bytes geladen. Die Hauptspeicheradresse umfasst 32 Bits. Falls notwendig, wird die LRU-Ersetzungsstrategie verwendet. Betrachten Sie die Folge der Lesezugriffe auf die folgenden, in hexadezimaler Schreibweise angegebenen Hauptspeicheradressen: $2D, $38, $9E, $D4, $19, $29, $3E, $9D, $CA 1. Welche Bits der 32-Bit-Adresse bilden (jeweils) Offset, Tag und Index? 2. Der Zustand eines Cacheblocks wird durch zwei Statusbits (Valid-Bit und Dirty-Bit) gekennzeichnet. Wieviel Speicherplatz wird insgesamt für die Realisierung des Tag-Speichers der einzelnen Cache-Speicher benötigt? 3. Nehmen Sie an, die Cache-Speicher seien zu Beginn leer. Ermitteln Sie, ob es sich beim Lesezugriff auf die jeweiligen Adressen um einen Cache-Hit oder Cache-Miss handelt. 17 Christian A. Mandery:

Übungsaufgabe 3 Gegeben seien ein direkt-abgebildeter Cache, ein 4-fach satzassoziativer Cache und ein vollassoziativer Cache. Die drei Cachespeicher haben jeweils eine Speicherkapazität von 128 Bytes und werden in Blöcken von je 8 Bytes geladen. Die Hauptspeicheradresse umfasst 32 Bits. Falls notwendig, wird die LRU-Ersetzungsstrategie verwendet. Betrachten Sie die Folge der Lesezugriffe auf die folgenden, in hexadezimaler Schreibweise angegebenen Hauptspeicheradressen: $2D, $38, $9E, $D4, $19, $29, $3E, $9D, $CA 1. Welche Bits der 32-Bit-Adresse bilden (jeweils) Offset, Tag und Index? 2. Der Zustand eines Cacheblocks wird durch zwei Statusbits (Valid-Bit und Dirty-Bit) gekennzeichnet. Wieviel Speicherplatz wird insgesamt für die Realisierung des Tag-Speichers der einzelnen Cache-Speicher benötigt? 3. Nehmen Sie an, die Cache-Speicher seien zu Beginn leer. Ermitteln Sie, ob es sich beim Lesezugriff auf die jeweiligen Adressen um einen Cache-Hit oder Cache-Miss handelt. 17 Christian A. Mandery:

Übungsaufgabe 3 Gegeben seien ein direkt-abgebildeter Cache, ein 4-fach satzassoziativer Cache und ein vollassoziativer Cache. Die drei Cachespeicher haben jeweils eine Speicherkapazität von 128 Bytes und werden in Blöcken von je 8 Bytes geladen. Die Hauptspeicheradresse umfasst 32 Bits. Falls notwendig, wird die LRU-Ersetzungsstrategie verwendet. Betrachten Sie die Folge der Lesezugriffe auf die folgenden, in hexadezimaler Schreibweise angegebenen Hauptspeicheradressen: $2D, $38, $9E, $D4, $19, $29, $3E, $9D, $CA 1. Welche Bits der 32-Bit-Adresse bilden (jeweils) Offset, Tag und Index? 2. Der Zustand eines Cacheblocks wird durch zwei Statusbits (Valid-Bit und Dirty-Bit) gekennzeichnet. Wieviel Speicherplatz wird insgesamt für die Realisierung des Tag-Speichers der einzelnen Cache-Speicher benötigt? 3. Nehmen Sie an, die Cache-Speicher seien zu Beginn leer. Ermitteln Sie, ob es sich beim Lesezugriff auf die jeweiligen Adressen um einen Cache-Hit oder Cache-Miss handelt. 17 Christian A. Mandery:

Übungsaufgabe 3 Gegeben seien ein direkt-abgebildeter Cache, ein 4-fach satzassoziativer Cache und ein vollassoziativer Cache. Die drei Cachespeicher haben jeweils eine Speicherkapazität von 128 Bytes und werden in Blöcken von je 8 Bytes geladen. Die Hauptspeicheradresse umfasst 32 Bits. Falls notwendig, wird die LRU-Ersetzungsstrategie verwendet. Betrachten Sie die Folge der Lesezugriffe auf die folgenden, in hexadezimaler Schreibweise angegebenen Hauptspeicheradressen: $2D, $38, $9E, $D4, $19, $29, $3E, $9D, $CA 1. Welche Bits der 32-Bit-Adresse bilden (jeweils) Offset, Tag und Index? 2. Der Zustand eines Cacheblocks wird durch zwei Statusbits (Valid-Bit und Dirty-Bit) gekennzeichnet. Wieviel Speicherplatz wird insgesamt für die Realisierung des Tag-Speichers der einzelnen Cache-Speicher benötigt? 3. Nehmen Sie an, die Cache-Speicher seien zu Beginn leer. Ermitteln Sie, ob es sich beim Lesezugriff auf die jeweiligen Adressen um einen Cache-Hit oder Cache-Miss handelt. 17 Christian A. Mandery:

Übungsaufgabe 4 Gegeben sei ein direkt-abgebildeter Cache mit einer Speicherkapazität von 128 Byte und einer Blockgröße von 16 Bytes. Die Hauptspeicheradresse umfasst 32 Bits. Als Aktualisierungsstrategie wird das Rückschreib-Verfahren (write back) verwendet. 1. Skizzieren Sie die Unterteilung der Hauptspeicheradresse. 2. Zur Verwaltung eines Cacheblocks werden zwei Statusbits verwendet: Ein Valid-Bit V und ein Dirty-Bit D. Berechnen Sie den insgesamt erforderlichen Speicherbedarf zur Realisierung dieses Cache-Speichers. 18 Christian A. Mandery:

Übungsaufgabe 4 Der Zustand des Cache-Speichers sei durch die Tabelle angegeben. V = 1 kennzeichnen einen gültigen Eintrag im Cache. D = 1 kennzeichnet einen Eintrag im Cache, der gegenüber seiner Originalkopie verändert wurde. Zeile D-Bit V-Bit Tag 0 0 1 1 1 0 1 1 2 0 0 4 3 0 1 5 4 1 1 0 5 0 1 3 6 1 1 0 7 0 0 1 Betrachten Sie die folgenden Lese- und Schreibzugriffe auf die in hexadezimaler Schreibweise angegebenen Hauptspeicheradressen: Adresse 0x44 0xA0 0xC3 0x9E 0x66 0x2D 0x6B 0x49 Read/Write w r w r r w r w 3. Geben Sie an, ob es sich beim Zugriff auf die jeweiligen Adressen um einen Cache-Miss oder einen Cache-Hit handelt und ob der entsprechende Cacheblock in den Hauptspeicher zurückkopiert werden muss. 19 Christian A. Mandery:

Übungsaufgabe 4 4. Skizzieren Sie den schematischen Aufbau des Cache-Speichers. Aus Ihrer Zeichnung sollten die Unterteilung der Hauptspeicheradresse, die Daten- und Adress-Speicher, die Statusbits, alle Vergleicher, Multiplexer/dekoder und das Hit-Signal sowie die Breiten der Daten- und Adressleitungen deutlich sein. 20 Christian A. Mandery:

Fertig! 21 Christian A. Mandery: