5 questions to test your understanding
A loop executes exactly 100 times. A 1-bit branch predictor is used for the loop-back branch. How many times does the predictor mispredict across all 100 iterations?
Why does branch misprediction penalty grow with pipeline depth?
Static branch prediction can achieve 85–90% accuracy by usually predicting branches as not taken.
When a branch prediction is incorrect, the processor must flush the speculatively executed instructions from the pipeline and restart fetching from the correct path.
Explain why branch prediction is described as 'one of the most performance-critical components in a processor despite performing no actual computation.' What cost does a misprediction incur?