Zum Hauptinhalt Zur Navigation

Golem Plus Artikel
Sprungvorhersage erklärt:
Der fast perfekte Prophet im Prozessor

Golem-Erklärbär
Die Sprungvorhersage ist eine der wichtigsten und gleichzeitig mysteriösesten Komponenten von Prozessoren . Wir erklären, wie sie funktioniert.
/ Johannes Hiltscher
Kommentare News folgen (öffnet im neuen Fenster)
Hätte ein Prozessor diesen Sprung vorhergesehen? (Bild: Lucas Allmann, Pexels)
Hätte ein Prozessor diesen Sprung vorhergesehen? Bild: Lucas Allmann, Pexels / CC0 1.0

Ohne Sprungvorhersage wären Prozessoren deutlich langsamer, ohne sie hätte es aber auch Spectre nicht gegeben. Erforderlich macht sie das Pipelining, das wiederum Taktraten von mehreren Gigahertz überhaupt erst ermöglicht. Dabei wird die Ausführung eines Befehls in einfachere, kleine Einheiten zerlegt. Bei aktuellen Prozessorkernen wird jeder Befehl in deutlich mehr als zehn Schritten abgearbeitet, Wikichips nennt für AMDs Zen 3 19 Pipeline-Stufen(öffnet im neuen Fenster) , Sifives leistungsfähigster RISC-V-Kern kommt auf bis zu 18 .

Das ist so lange unproblematisch, bis der Prozessor bei der Befehlsausführung auf einen bedingten Sprung trifft. Dann ist oft noch nicht klar, ob dessen Bedingung erfüllt ist. Natürlich könnte der Prozessor nun eine Pause einlegen und warten, bis feststeht, wo es im Programm weitergeht. Das würde aber bedeuten, dass Dutzende Befehle warten müssen, schließlich werden in jedem Takt mehrere davon dekodiert. Um das zu vermeiden, rät der Prozessor, wo es weitergeht. Damit er möglichst oft richtig liegt, wurden immer aufwendigere Mechanismen zur Sprungvorhersage entwickelt. Wir sehen uns deren Geschichte und Funktion an.

Golem Plus Artikel