Wat is een branchevoorspelling?

Branchevoorspelling is een techniek die wordt gebruikt in CPU-ontwerp en die probeert de uitkomst van een voorwaardelijke bewerking te raden en zich voor te bereiden op het meest waarschijnlijke resultaat. Een digitaal circuit dat deze bewerking uitvoert, staat bekend als een vertakkingsvoorspeller . Het is een belangrijk onderdeel van moderne CPU-architecturen, zoals de x86.

Hoe werkt het?

Wanneer een voorwaardelijke bewerking zoals een if ... else-instructie moet worden verwerkt, 'speculeert' de vertakkingspredictor aan welke voorwaarde het meest waarschijnlijk wordt voldaan. Vervolgens voert het de bewerkingen uit die vereist zijn door het meest waarschijnlijke resultaat van tevoren, zodat ze al voltooid zijn als en wanneer de schatting correct was. Tijdens runtime voert de CPU, als de schatting niet juist blijkt te zijn, de andere tak van bewerking uit, met een kleine vertraging. Maar als de gissing juist was, is de snelheid aanzienlijk verhoogd.

De eerste keer dat een voorwaardelijke bewerking wordt gezien, heeft de vertakkingsvoorspeller niet veel informatie om te gebruiken als basis voor een schatting. Maar hoe vaker dezelfde bewerking wordt gebruikt, hoe nauwkeuriger het kan worden.

CPU-termen