Z. Lu, J. Lach, M.R. Stan, and K. Skadron.
International Journal of Parallel Programming, Kluwer, volume 31,
number 2, Apr. 2003.
Abstract
This paper introduces alloyed prediction, a new hardware-based
two-level branch predictor organization that combines global and local
history in the same structure, combining the advantages of current
two-level predictors with those of hybrid predictors. The alloyed
organization is motivated by measurements showing that wrong-history
mispredictions are even more important than conflict-induced
mispredictions. Wrong-history mispredictions arise because current
two-level, history-based predictors provide only global or only local
history. The contribution of wrong history to the overall
misprediction rate is substantial because most programs have some
branches that require global history and others that require local
history. This paper explores several ways to implement alloyed
prediction, including the previously proposed bi-mode organization.
Simulations show that mshare is the best alloyed organization among
those we examine, and that mshare gives reliably good prediction
compared to bimodal ("two-bit"), two-level, and hybrid predictors. The
robust performance of alloying across a range of predictor sizes stems
from its ability to attack wrong-history mispredictions at even very
small sizes without subdividing the branch prediction hardware into
smaller and less effective components.