Improving Indirect Branch Prediction With Source- and Arity-based Classification and Cascaded Prediction

Karel Driesen, Urs Hölzle · 1998

. Indirect branch prediction is likely to become more critical to program performance because indirect branches occur more frequently in object-oriented programs. We study indirect branch behavior in both procedural and object-oriented programs in order to build more accurate predictor architectures. First we use a statically classifying hybrid predictor with a shared history table and separate history buffers tuned for different branch classes. Opcode-based classification, which classifies branches according to their source code origin, leads to only minor improvements in prediction performance. Arity-based classification, which classifies branches according to the number of different targets, obtains better performance, competitive with recently proposed dualpath length hybrid predictors. Finally, we present cascaded branch predictors, which dynamically classifies easily predicted branches using an inexpensive predictor. By preventing insertion of these branches into a more powerful ...

Read the paper · More papers on PaperTik