代写 U ̈bung10 RAWiSe18/19 Aufgabe 1 (Cacheorganisationen)

U ̈bung10 RAWiSe18/19 Aufgabe 1 (Cacheorganisationen)
Gegeben ist ein Datencache mit einer Gro ̈sse von 16 Worten. Anfangs ist der Cache leer. Dann erfolgen Speicherzugriffe auf folgende Wortadressen (im Dezimalcode):
2, 3, 11, 16, 21, 13, 64, 48, 19, 11, 3, 22, 4, 27, 6, 11
Es sollen vier Cacheorganisationen verglichen werden:
(1) Cache mit direkter Abbildung, Blockgro ̈sse 1 Wort
(2) Cache mit direkter Abbildung, Blockgro ̈sse 4 Worte
(3) 2-fach satzassoziativer Cache, Blockgro ̈sse 1 Wort, LRU Ersetzungsstrategie (4) vollassoziativer Cache, Blockgro ̈sse 4 Worte, LRU Ersetzungsstrategie
Skizzieren Sie die Cachestrukturen. Stellen Sie fu ̈r alle vier Cacheorganisationen und jeden Speicherzugriff fest, ob er zu einem Cache Hit oder zu einem Cache Miss fu ̈hrt. Geben Sie den Cacheinhalt nach Abarbeitung aller Adresszugriffe an.
Aufgabe 2 (Vergleich von Caches)
Es wird ein 32-bit Prozessor mit einem Adressraum von 1 MByte und einem 4 KByte Cache betrachtet. Die Tabelle 1 zeigt die drei verfu ̈gbaren Cacheorganisationen.
Tabelle 1: 3 Cacheorganisationen
Beantworten Sie fu ̈r jede der Cacheorganisationen:
• Wieviele Bit haben der Tag, der Index, und der Blockoffset?
• Welche Gesamtgro ̈sse hat der Cache?
• Wie gross ist der Overhead des Caches in Prozent?
􏰈 Nutzdaten 􏰉 Overhead = 1 − Gesamtgro ̈sse
Cache
Assoziativita ̈t
Blockgro ̈sse
C1
1-fach satzassoziativ
1 Wort
C2
2-fach satzassoziativ
2 Worte
C3
8-fach satzassoziativ
16 Worte
Seite 1 / 3

U ̈bung10 RAWiSe18/19 Aufgabe 3 (Multilevel Cache)
Ein 5 GHz Prozessor hat einen CPI-Wert ohne memory stall cycles von 1,0. Die miss-rate des Caches betra ̈gt 2%, die Zugriffszeit auf den Hauptspeicher fu ̈r einen Cacheblock 100ns.
Nun fu ̈hren wir einen zweiten Cache (2nd level cache) mit einer hit-time von 5ns ein. 99% aller Zugriffe auf diesen zweiten Cache ergeben einen hit. Beide Caches benutzen dieselbe Blockgro ̈sse. Um welchen Faktor steigt die Prozessorperformance? Verwenden Sie die mittlere Zugriffszeit als Metrik.
Aufgabe 4 (Arbitrierung)
Abbildung 1 zeigt drei Module, eine CPU, einen DMA-Controller und einen Speicher, die an einen Bus angeschlossen sind. Da die CPU und der DMA-Controller Busmaster werden ko ̈nnen, muss der Bus arbitriert werden. Dazu werden die Module A1 und A2 verwendet.
Sowohl die CPU als auch der DMA-Controller fordern u ̈ber ein request-Signal (reqX=1) bei ihrem jeweiligen Arbitrierungsmodul den Bus an. Falls ein Buszugriff mo ̈glich ist, ant- wortet das Arbitrierungsmodul mit einem grant-Signal (graX =1). Gibt die CPU bzw. der DMA-Controller den Bus wieder frei, wird das entsprechende request Signal wieder auf 0 gesetzt, worauf das Arbitrierungsmodul das entsprechende grant-Signal auch wieder auf 0 setzt.
Die beiden Arbitrierungsmodule kommunizieren u ̈ber die Signale ack und req.
Abbildung 1: Arbitrierung eines Busses
Seite 2 / 3

U ̈bung10 RAWiSe18/19
Spezifizieren Sie die Funktionen der Arbitrierungsmodule A1 und A2 jeweils durch einen Moore-Automaten. Dabei soll die CPU eine ho ̈here Priorita ̈t als der DMA-Controller haben. Nehmen Sie an, dass A1 und A2 mit demselben Takt versorgt werden.
Aufgabe 5 (Overhead durch Polling)
Ein Prozessor mit einer Taktfrequenz von 500 MHz bedient I/O-Gera ̈te durch Polling. Die Pollingroutine beno ̈tigt 400 Taktzyklen. Dabei muss das Polling so schnell erfolgen, dass keine Daten von den I/O-Gera ̈ten verloren gehen. Berechnen Sie fu ̈r folgende I/O-Gera ̈te den Anteil der CPU-Zeit, die fu ̈r das Polling verwendet wird:
(1) Eine Maus, die 30 mal pro Sekunde abgefragt werden muss, um keine Mausbewegung zur versa ̈umen.
(2) Eine Floppy-Disk (historisches Speichermedium), die Daten zum Prozessor in Ein- heiten von 16 Bits liefern soll und eine Datenrate von 50 KB/s hat.
(3) Eine Hard-Disk, die Daten in Einheiten von 4 Worten mit einer Datenrate von 20 MB/s liefert.
Seite 3 / 3