Füllung der Pipeline sicherstellen Sprung hat zwei mögliche Ausgänge Sprungvorhersage:Vorhersage des Ausgangs Laden der Befehle vom vorhergesagten Ziel Warum ist die Sprungvorhersage bei der Pipeline-Ausführung wichtig? Die Sprungvorhersage verhindert das Leerlaufen der Pipeline bei Kontrollflussbefehlen.
Statische Sprungvorhersage Richtung der Vorhersage für Befehl immer gleich (“statisch”)Always Taken, or Always Not Taken Statische Technik: Prädikation Verwenden von Prädikaten
Compiler-gestützt
Sprungbefehle werden vermieden, stattdessen spekulative Ausführung der mit Prädikat versehenen Befehle und Gültigmachen bei Evaluation des Prädikatregisters zu Wahr
Benötigte Hardware: Spekulative Ausführung, Prädikatregister
Dynamische Sprungvorhersage Vorhersage auf Grund von bisherigem Programmablauf
Sprungbefehle werden ausgeführt
Nächsten Befehle werden entsprechend der Vorhersage über den Sprungausgang spekulativ geladen und ausgeführt
Benötigte Hardware: Sprungzieltabelle, Prädiktor(en)
One-Bit Predictor Two-Bit Predictor Sättigungszähler (Saturation scheme)
Sättigungszähler (Saturation schem… ST: Strongly Taken (11) WT: Weakly Taken (10) WNT: Weakly Not Taken (01) SNT: Strongly Not Taken (00) ST: Strongly Taken (11)… ST WT SNT WNT T T T T NT NT NT NT T NT T: Taken (1) NT: Not Taken (0) T: Taken (1)… NT T T NT Hysteresemethode (Hysteresis scheme)
Hysteresemethode (Hysteresis scheme) ST WT SNT WNT T T T NT NT NT T NT (m , n )-Korrelationsprädikator
(m, n)-Korrelationsprädikator Sprungverlaufsregister (Branch History Register, BHR) Speicherung der letzten m Sprünge Sprungsverlaufstabelle (Pattern History Table, PHT) Jeder Eintrag ist ein n -Bit Prädikator Insgesamt Einträge Sprungverlaufsregister (Branch History Register, BHR)… ST WT SNT WNT T T T T NT NT NT NT ST WT SNT WNT T T T T NT NT NT NT 1 Bsp: (1 , 2 )-Korrelationsprädikator
Bsp: (1, 2)-Korrelationsprädikator NT BHR Speicherung der letzten 1 Sprünge
BHR… Vorhersage (Pr… 0 Jede Eintrag ist ein 2 -Bit Prädikator
Jede Eintrag ist ein 2-Bit Prädikator PHT Insgesamt 2^{\color{blue}… (SNT, WT) Tatsächliche Richtung: ST WT SNT WNT T T T T NT NT NT NT ST WT SNT WNT T T T T NT NT NT NT 1 T BHR Vorhersage (Pr… 0 PHT (WNT, WT) 1 0 T Selektor für Prädikator
0: verwende den 1. Prädikator 1: verwende den 2. Prädikator Selektor für Prädikator… Viewer does not support full SVG 1.1