Fragen zum Stuve Lösungsvorschlag zu Parallelverarbeitung - Aufgabe 5 - 2.10.14 Klausur

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Fragen zum Stuve Lösungsvorschlag zu Parallelverarbeitung - Aufgabe 5 - 2.10.14 Klausur
Ich verstehe den Lösungsvorschlag von Aufgabe 5 - Klausur am 2.10.14 nicht ganz und hoffe jemand kann mir weiterhelfen. Lösungsvorschlag als + Code sind unten beigefügt.

Warum wird in Takt 6 der Befehl je6 geladen und durch die Pipeline geleitet, obwohl das Ergebnis vom cmp15 noch nicht bekannt ist. Was würde nach Takt 13 passieren - nachdem je6 ausgeführt wurde, wenn im Lend weiter Code ausgeführt werden kann?

Warum wird in Takt 12 zuerst kein neuer Befehl in die PL geladen? Nach Aufgabe wird der Sprung jp7 bereits in der Phase BH-BD ausgewertet, daher stände das Sprungziel fest und die nächste, korrekte Addresse könnte eingelesen werde.

1 Lstart :
2 movl $2 , %eax
3 movl $1 , %ecx
4 Lcond :
5 cmpl %eax , %ecx
6 je Lend
7 jg Lgreater
8 Lless :
9 subl %ecx , %eax
10 jmp Lcond
11 Lgreater :
12 subl %eax , %ecx
13 jmp Lcond
14 Lend :

Attachment:
Lsg.PNG: https://fsi.cs.fau.de/unb-attachments/post_149966/Lsg.PNG


Alles lesen und noch einmal darüber nachdenken.

(Fette Markierung stammt von mir)


Ah danke, wäre einfacher auch gegangen. Eine Frage wäre dann geklärt.


Der Befehl wird geladen, weil sonst ja noch gar nicht klar is, dass ein Hazard vorliegt. Könnte ja auch ein [m]addl %ebx, %ecx[/m] sein, was problemlos ausgeführt werden könnte. Aber um herauszufinden, was der Befehl eben ist, muss er zuerst einmal geladen und dekodiert werden. Und sobald die Tatsache bekannt ist, bleibt der Befehl „in der Pipeline hängen“, bis alle Hazards aufgelöst sind.

Dementsprechend wäre übrigens in deiner Lösung auch zu erwarten, dass es keine „freien Plätze“ in der BH-BD-Phase gibt, bis der letzte Befehl in die OH-Phase übergeben werden konnte.

1 „Gefällt mir“