Limits of Indirect Branch Prediction
Karel Driesen, Urs Hölzle
Abstract:
Indirect branch prediction is likely to become more important in the
future because indirect branches tend to be more frequent in
object-oriented programs. With indirect branch prediction
misprediction rates of around 25% on current processors, such branches
can incur a significant fraction of branch misses even though indirect
branches are less frequent than the more predictable conditional
branches. We investigate the predictability of indirect branches to
determine whether the inferior accuracy of the current indirect branch
prediction mechanism (branch target buffers) results from an intrinsic
unpredictability of indirect branches or is caused by suboptimal
branch prediction hardware. Using programs from the SPECint95 suite as
well as a suite of C++ applications, we show that prediction accuracy
can exceed 95% on average for these benchmarks, assuming an unlimited
hardware budget. This result suggests that better indirect branch
prediction hardware can significantly outperform current branch target
buffers.
Technical Report TRCS97-10, Computer Science Department, University of California, Santa Barbara, 25 June 97
To get the PostScript file, click
here
(PDF is here).