Dynamic history-length fitting: a third level of adaptivity for branch prediction

  • Authors:
  • Toni Juan;Sanji Sanjeevan;Juan J. Navarro

  • Affiliations:
  • Depart. of Computer Architecture, Univ. Politècnica de Catalunya, 08034 Barcelona (Spain);Depart. of Computer Architecture, Univ. Politècnica de Catalunya, 08034 Barcelona (Spain);Depart. of Computer Architecture, Univ. Politècnica de Catalunya, 08034 Barcelona (Spain)

  • Venue:
  • Proceedings of the 25th annual international symposium on Computer architecture
  • Year:
  • 1998

Quantified Score

Hi-index 0.02

Visualization

Abstract

Accurate branch prediction is essential for obtaining high performance in pipelined superscalar processors that execute instructions speculatively. Some of the best current predictors combine a part of the branch address with a fixed amount of global history of branch outcomes in order to make a prediction. These predictors cannot perform uniformly well across all workloads because the best amount of history to be used depends on the code, the input data and the frequency of context switches. Consequently, all predictors that use a fixed history length are therefore unable to perform up to their maximum potential.We introduce a method---called DHLF---that dynamically determines the optimum history length during execution, adapting to the specific requirements of any code, input data and system workload. Our proposal adds an extra level of adaptivity to two-level adaptive branch predictors. The DHLF method can be applied to any one of the predictors that combine global branch history with the branch address. We apply the DHLF method to gshare (dhlf-gshare) and obtain near-optimal results for all SPECint95 benchmarks, with and without context switches. Some results are also presented for gskewed (dhlf-gskewed), confirming that other predictors can benefit from our proposal.