CPU und Architektur
Welches Verfahren gibt in der Pipeline, wenn ein Befehl das Ergebnis des vorherigen sofort verwendet (Datenhazard), das Rechenergebnis direkt an den nächsten Befehl weiter, ohne auf das Schreiben ins Register zu warten?
- AForwarding (Bypass)
- BVirtueller Speicher
- CSprungvorhersage
Antwort und Erläuterung anzeigen
Antwort: A. Forwarding (Bypass)
Forwarding (Bypass) leitet den Ausgang der Recheneinheit direkt an den Eingang nachfolgender Befehle weiter, ohne auf das Schreiben ins Register zu warten. Folgt z. B. auf „r1 = r2 + r3“ unmittelbar „r4 = r1 × 2“, kann dieser ohne mehrtaktigen Stillstand (Stall) ausgeführt werden. Wird jedoch ein aus dem Speicher geladenes Ergebnis sofort verwendet, bleibt ein Stillstand von etwa einem Takt, da die Daten noch nicht eingetroffen sind (Load-Use-Hazard).