CPU en architectuur
Wat is het doel van sprongvoorspelling (branch prediction) in een CPU?
- AHet resultaat van een sprong voorspellen en alvast volgende instructies uitvoeren, zodat de pipeline minder vaak stilstaat
- BHet energieverbruik voorspellen en de voeding regelen
- CDe capaciteit van het hoofdgeheugen voorspellen
Antwoord en toelichting tonen
Antwoord: A. Het resultaat van een sprong voorspellen en alvast volgende instructies uitvoeren, zodat de pipeline minder vaak stilstaat
In een pipeline staat de volgende instructie pas vast als het resultaat van een sprong bekend is, waardoor de verwerking stilvalt. Bij sprongvoorspelling wordt het sprongdoel op basis van onder meer eerdere historie voorspeld en gaat de uitvoering alvast verder; alleen bij een misser wordt opnieuw begonnen. Ongeveer één op de vijf programma-instructies is een sprong, dus de invloed is groot, en huidige krachtige CPU's voorspellen met een nauwkeurigheid van meer dan 95 %. Doordat één misser circa tien tot twintig klokcycli kost, is zelfs een kleine verbetering van de nauwkeurigheid van belang voor de prestaties.