Pierwsza strona Wstecz Kontynuuj Ostatnia strona Przegląd Tekst

Notatki:


W rzeczywistości nie zawsze przyśpieszenie uzyskane dzięki potokowaniu jest tak duże jak w przypadku idealnym. Powodem tego jest występowanie hazardów. Do popularnych hazardów należą zależność między danymi (gdy pierwsza instrukcja jest już na etapie wykonywania dodawania, druga powinna pobierać potrzebne jej dane. Nie jest to możliwe, bo liczba z $r3 nie została jeszcze zapisana do pamięci przez pierwszą instrukcję). Zależność między danymi powoduje problemy szczególnie w potokowaniu o wielu etapach, gdyż stosunkowo dużo czasu zajmuje dojście do finalnego etapu i zapisanie wyniku do pamięci.
Drugi popularny tryb hazardu to instrukcje warunkowe - ponieważ nie wiemy, jaką wartość przyjmie dozór pętli, nie wiadomo, jak dalej potoczy się sterowanie w programie i jaką kolejną instrukcję "załadować" do potoku.