Wir haben eine einfachen 5-stufigen Pipeline bestehend aus: Befehl holen
(IF), Befehl dekodieren (ID), Operanden holen (OF), Ausführung (EX), Rückspeichern (WB).
Weiterhin liegt eine reine Load/Store-Architektur ohne architekturelle Beschleunigungsmaßnahmen (z. B. Forwarding, Reordering etc.) oder Hardware zur Erkennung von Hemmnissen vor.
Operanden können erst dann aus Registern geholt werden, nachdem sie zurück gespeichert wurden.
Frage:
Wie wird nun die folgende Befehlsfolge aus Pseudoinstructions in der oben beschriebenen Pipeline konfliktfrei ausgeführt?
add r0, r1, r2
sub r1, r5, r0
mov [rsp+8], r5
or r0, r5, r4
mov r3, [rsp+24]
and r1, r0, r3
add r0, r1, r3
add r0, r0, 0x341D
add r0, r0, 0x52F6
Vielen Dank!