Elastic history buffer: a low-cost method to improve branch prediction accuracy

Abstract
Two-level dynamic branch predictors try to predict the outcomes of conditional branches using both a table of state counters associated with specific branch instructions and a buffer of recent branch outcomes to correlate the counters with specific branch histories. However there is always a question of how much correlation to use, and some programs benefit from higher levels of correlation than others. This paper presents the Elastic History Buffer (EHB), a low-cost yet effective scheme that can exploit the property that each branch instruction may have a different degree of correlation with other branches, while keeping the simple structure of a single global branch history. We have simulated the EHB on SPECint92 for two architectures. On average, the EHB has 25% fewer mispredictions than fixed-correlation schemes and 10% fewer than frequency-based branch classification schemes. With limited hardware (1KB), the EHB is close to the optimum measured by repeating the experiments on an “oracle” two-level predictor

This publication has 6 references indexed in Scilit: