Ich brauche Hilfe beim Verständnis der Lösung aus dem Lösungshandbuch. Die Frage stammt aus der Übung 4.22.2 von Kapitel 4 im Buch Computer Organization and Design von Patterson und Hannessey (4. Auflage). Die Frage betrifft die Verzweigung in der Befehlspipeline.
Die Frage
Wir nehmen an, dass der folgende MIPS-Code auf einem Pipeline-Prozessor mit einer 5-Stufen-Pipeline, vollständiger Weiterleitung und einem Predict-Take-Branch-Prädiktor ausgeführt wird. Betrachten Sie die Anweisungssequenz:
Label1: LW R2,0(R2)
BEQ R2,R0,Label ; Taken once, then not taken
OR R2,R2,R3
SW R2,0(R5)
Zeichnen Sie das Pipeline-Ausführungsdiagramm für diesen Code, vorausgesetzt, es gibt Verzögerungsschlitze und dass Verzweigungen in der EX-Stufe ausgeführt werden.
Die angegebene Lösung lautet wie folgt:
Zweifel
***
in Zyklus 7 einen Stillstand (hervorgehoben) für LW
(vierte ausgeführte Anweisung)? Ich verstehe, dass LW
liest R2
, was geändert wird durch OR
(ausgeführt im Verzögerungsschlitz nach BEQ
, vor LW
). Aber OR
liest es in Zyklus 6 in der EX
Phase. Sollte also LW
in der Lage sein, die Stufe in Zyklus 7 auszuführen EX
(da eine vollständige Weiterleitung erlaubt ist). Aber warum wird das nicht so dargestellt?BEQ
steht . ***
Dies liegt daran, dass BEQ
gelesen wird R2
, was durch LW
(1. Anweisung) in seiner MEM
Stufe geladen wird. BEQ
Muss also warten, bis LW
es MEM
fertig ist. Die gleiche Situation tritt jedoch in den Befehlen 4 und 5 auf. Aber in diesem Fall BEQ
darf der (5. Befehl) seine EX
Stufe in demselben Zyklus wie LW
die Stufe (3. Befehl) ausführen MEM
. Sollte BEQ
(5. Anweisung) nicht erneut angehalten werden, damit es wartet, bis LW
die (4. Anweisung) MEW
abgeschlossen ist?MEM
(z. B. 1. Anweisung LW
, 4. Zyklus) und in einigen Anweisungen ist sie gekennzeichnet MEB
(z. B. 2. Anweisung LW
, 6. Zyklus). Was sind die Unterschiede zwischen MEM
und MEB
? Ich habe das ganze Buch durchsucht, aber es wird nicht erwähnt MEB
, nur im Lösungshandbuch ist es angegeben. Oder vielleicht habe ich einige Seiten übersehen.Ihre Zweifel scheinen begründet, es könnte ein Fehler im Lösungshandbuch enthalten sein. Auch MEM und MEB könnten Tippfehler sein, ich habe das H&P-Lehrbuch nicht mehr, aber ich kann mich nicht erinnern, etwas über zwei verschiedene Gedächtnisstufen gelernt zu haben.
Haben Sie einen Professor, den Sie fragen können, der dieses Problem zugewiesen hat?
Mahesha999
MEM
undMEB
haben, daher glaube ich nicht wirklich, dass dies ein Tippfehler sein kann, wenn ich angebe, wie gut dieses Buch ist und wie oft sich dies in den Lösungen wiederholt hat. Der Autor muss wirklich etwas damit gemeint haben, aber er hat es versäumt, es im Detail zu beschreiben. Allerdings habe ich einmal einen Tippfehler in der anderen Lösung gefunden. Und nein, ich habe keinen Professor, der das fragt. Ich mache einen Job und lerne dies selbstständig für eine Ingenieur-Aufnahmeprüfung.