Klausuraufgabe
Konflikte erkennen, Strukturell, Daten oder Kontrolle als Ursache identifizieren.
Strukturelle Konflikte (structural hazards)
- Entstehen durch Ressourcenabhängigkeiten
- Hardware kann nicht alle Kombinationen von Operationen in überlappender Weise gleichzeitig ausführen (z.B. nur ein Speichertransfer pro Takt)
Datenkonflikte (data hazards)
- Entstehen, wenn Befehle Ergebnisse vorangegangener Operationen weiterverarbeiten sollen, die wegen Verschränkung in der Pipeline noch nicht vorliegen (engl. read after write RAW hazard)
Kontrollkonflikte (control hazards)
- Entstehen durch Sprungbefehle, die die „normale“ Befehlsreihenfolge verändern (d.h. PC manipulieren)
- Insbesondere bei bedingten Sprüngen