Aufgabe 1 ------------------------------------------- add $sp, $sp, 4 slt $s0, $sp, $a0 lb $t1, 0($sp) sub $t3, $t1, $a1 lw $t2, 4($a2) add $t4, $a0, $t2 a) Wo können Hazards auftreten? Welche Hazards sind es? b) Wie viele NOPs nach jeder Zeile einfügen, damit Hazards nicht auftreten? c) Was ist der CPI des Codes? Nun mit Hazard detection, forwarding, etc. d) IF/ID/EX/MEM/WB in leere Tabelle eintragen, X setzen und forwarding-Pfeile zeichnen e) Wie hoch ist der CPI nun? Wie groß ist der Speedup? Aufgabe 3 ------------------------------------------- Geg. ist ein 3-fach satzassoziativer Cache. Er wird addressiert mit 36bit langem Tag, 8bit langem Index und 4bit Blockoffset. a) Wie lang sind die Adressen? b) Wie viele Sätze hat der Cache? Wie groß sind die Blöcke? c) Gegeben ist eine Skizze _________________________ |_______|_______|_______| |_______|_______|_______| |_______|_______|_______| usw. Man muss sie beschriften: Assoziativität, Blockgröße, Satzgröße, minimaler und maximaler Index. d) Wie groß ist die Kapazität des Caches?