- Gegeben Sei untenstehendes Assembler-Programm. M, N und RESULT
seien
symbolische Speicheradressen (Marken, Label). An fder Speicherstelle N
stehe der Wert n. Ab der Speicherstelle M
stehen die Werte x1 bis xn in
aufeinanderfolgenden Speicherstellen. Befehle: mv Laden, add Addieren,
sub Subtrahieren,
mult Multiplizieren, div Dividieren, sqrt Wurzelziehen, jnz Sprung wenn
nicht Null; den Zieloperanden leiten
Sie bitte aus den
gegebenen Befehlen ab! () bedeute Register indirekte, @ deute
speicherdirekte Adressierung an.
a) Welche Funktion implementiert dieses Programm, was
steht nach
Abarbeitung in der Speicherstelle RESULT?
b) Wieviel Byte nimmt das Programm im Speicher ein? Jeder Befehl sei 1
Wort lang,
Direktoperanden und Adressen benötigen nochmals 1 Wort
(Wortgröße: 2 Byte)
c) Wieviele Speicherzugriffe sind zur Ausführung des Programmes
nötig? Jedes Wort wird mit
einem Zugriff gelesen oder geschrieben.
mv r0,0
mv r1,M
mv r2,@N
mv r3,0
L: mv r0,(r1)
mult r0,r0
add r3,r0
add r1,1
sub r2,1
jnz L
sqrt r3
mv @RESULT,r3
(5 Punkte)
- Eine Verarbeitungspipeline bestehe aus 4 Stufen: Befehl lesen
(RI),
Decodieren (DC), Operanden holen (RO) und Ausführen (EX).
- Wie lange dauert die Verarbeitung von 50 Befehlen, wenn jede
Stufe
4 Takte benötigt?
- Wie lange dauert die Verarbeitung von 50 Befehlen, wenn jede
Stufe die
folgende angegebene Zeit benötigt: RI - 3 Takte, DC - 2 Takte, RO
-
3 Takte, EX - 2 Takte
- Wieviel schneller ist die Verarbeitung nach a) gegenüber
einer
Verarbeitung ohne Pipeline?
(5 Punkte)
- Ein Speichersystem bestehe aus Cache, Hauptspeicher und
Festplatte.
Der Cache habe eine Trefferquote von 92% und eine Zugriffszeit von 2
ns,
der Hauptspeicher eine Trefferquote von 95% und eine Zugriffszeit von
10
ns und die Festplatte habe eine Zugriffszeit von 10 ms.
Wie lange dauert ein Speicherzugriff im Durchschnitt?
(5 Punkte)
- Ein Speichersystem habe einen 4-Seiten-Cache. Wieviele
Fehlzugriffe
(misses) erzeugt folgende Zugriffssequenz auf die Speicherseiten, wenn
der
Cache vorher leer ist,
1 - 2 - 4 - 4 - 8 - 4 - 2 - 3 - 8 - 3 - 1 - 9 - 4 - 2 - 8 - 3 - 2 - 2 -
8 - 4 - 3 - 3 - 7 - 6
- bei einer einfach assoziativen (mod 4) Ersetzung ?
- bei einer vollassoziativen Ersetzung mit FIFO ?
- bei einer vollassoziativen Ersetzung mit LRU?
- bei einer vollassoziativen Ersetzung mit einem perfekten Orakel
?
(5 Punkte)