Alloyed branch history: combining global and local branch history for robust performance

  • Authors:
  • Zhijian Lu;John Lach;Mircea R. Stan;Kevin Skadron

  • Affiliations:
  • Department of Electrical and Computer Engineering, University of Virginia, Charlottesville, Virginia;Department of Electrical and Computer Engineering, University of Virginia, Charlottesville, Virginia;Department of Electrical and Computer Engineering, University of Virginia, Charlottesville, Virginia;Department of Computer Science, University of Virginia, Charlottesville, Virginia

  • Venue:
  • International Journal of Parallel Programming
  • Year:
  • 2003
  • Arithmetic program paths

    Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering

Quantified Score

Hi-index 0.00

Visualization

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.