Was ist ein Pipeline Flush?

Ein Pipeline-Flush wird auch als Pipeline-Break oder Pipeline-Stall bezeichnet . Dies ist eine Prozedur, die von einer CPU ausgeführt wird, wenn sie nicht sicherstellen kann, dass sie ihre Anweisungspipeline im nächsten Taktzyklus korrekt verarbeitet.

Wie funktioniert es?

Für jeden gegebenen Befehl, den die CPU verarbeiten muss, gibt es mehrere Verarbeitungsstufen, die als Befehl oder Maschinenzyklen bezeichnet werden. Diese Stufen umfassen das Abrufen der Anweisung aus dem Speicher sowie das Dekodieren und Ausführen der Befehle. CPUs pipelineieren ihre Anweisungen, was bedeutet, dass sich mehrere Anweisungen zu unterschiedlichen Zeitpunkten in verschiedenen Phasen des Maschinenzyklus befinden können.

Ein Gefahrenzustand kann sich dann ergeben, wenn zwei ausstehende Anweisungen "datenabhängig" sind (sie hängen von demselben Datensatz im Speicher ab oder ändern diesen). In einem solchen Fall muss die CPU die Anweisungspipeline möglicherweise löschen ("leeren"), um sicherzustellen, dass die Berechnungen nicht durch den Pipelining-Prozess beschädigt werden.

CPU-Ausdrücke, Anweisungen, Pipelining