CPU und Architektur
Was ist der Zweck der Sprungvorhersage (Branch Prediction) einer CPU?
- ADas Ergebnis eines Verzweigungsbefehls vorherzusagen, nachfolgende Befehle vorab auszuführen und Pipeline-Stillstände zu verringern
- BDie Leistungsaufnahme vorherzusagen und die Versorgung zu steuern
- CDie Kapazität des Hauptspeichers vorherzusagen
Antwort und Erläuterung anzeigen
Antwort: A. Das Ergebnis eines Verzweigungsbefehls vorherzusagen, nachfolgende Befehle vorab auszuführen und Pipeline-Stillstände zu verringern
In einer Pipeline steht der nächste Befehl erst fest, wenn das Ergebnis des Verzweigungsbefehls bekannt ist, und die Verarbeitung würde stehen bleiben. Bei der Sprungvorhersage wird das Sprungziel anhand der bisherigen Historie vorhergesagt und die Ausführung vorangetrieben; nur bei falscher Vorhersage wird neu begonnen. Etwa jeder fünfte Befehl eines Programms ist eine Verzweigung, daher ist der Einfluss groß, und heutige Hochleistungs-CPUs erreichen Vorhersagegenauigkeiten über 95 %. Ein Fehlschlag kostet etwa zehn bis zwanzig Takte, sodass schon kleine Genauigkeitsgewinne die Leistung beeinflussen.