Pierwsza strona Wstecz Kontynuuj Ostatnia strona Przegląd Grafika
Przewidywanie rozgałęzień (branch prediction):
Przewidywanie rozgałęzień (branch prediction):
- Heurystyka
- Dynamiczne zapamiętywanie poprzednich wyborów
Wykonywanie spekulacyjne (speculative execution)
- Wykonanie kodu, o którym nie wiemy, czy wyniki będą potrzebne
Notatki:
Sposobem na uniknięcie drugiego hazardu (instrukcja warunkowa) mogą być przewidywanie rozgałęzień i wykonywanie spekulacyjne.
Przewidując rozgałęzienia, procesor "zgaduje", jaka będzie kolejna instrukcja i zaczyna jej wykonywanie w potoku. Jeśli przewidywanie okaże się błędne, rejestry muszą być wyczyszczone, potokowanie wstrzymane, a następnie ponownie zainicjowane (tym razem z poprawną instrukcją). Do "zgadywania", która instrukcja zostanie jako kolejna wykonana, procesor może wykorzystać heurystykę lub dynamicznie zapamiętywać dotychczasowe wybory i na tej podstawie przewidywać kolejne.