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