Design tradeoffs for the Alpha EV8 conditional branch predictor
- 1 May 2002
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGARCH Computer Architecture News
- Vol. 30 (2) , 295-306
- https://doi.org/10.1145/545214.545249
Abstract
This paper presents the Alpha EV8 conditional branch predictor The Alpha EV8 microprocessor project, canceled in June 2001 in a late phase of development, envisioned an aggressive 8-wide issue out-of-order superscalar microarchitecture featuring a very deep pipeline and simultaneous multithreading. Performance of such a processor is highly dependent on the accuracy of its branch predictor and consequently a very large silicon area was devoted to branch prediction on EV8. The Alpha EV8 branch predictor relies on global history and features a total of 352 Kbits.The focus of this paper is on the different trade-offs performed to overcome various implementation constraints for the EV8 branch predictor. One such instance is the pipelining of the predictor on two cycles to facilitate the prediction of up to 16 branches per cycle from any two dynamically successive, 8 instruction fetch blocks. This resulted in the use of three fetch-block old compressed branch history information for accesing the predictor. Implementation constraints also restricted the composition of the index functions for the predictor and forced the usage of only single-ported memory cells.Nevertheless, we show that the Alpha EV8 branch predictor achieves prediction accuracy in the same range as the state-of-the-art academic global history branch predictors that do not consider implementation constraints in great detail.Keywords
This publication has 11 references indexed in Scilit:
- The agree predictorPublished by Association for Computing Machinery (ACM) ,1997
- Trading conflict and capacity aliasing in conditional branch predictorsPublished by Association for Computing Machinery (ACM) ,1997
- Multiple-block ahead branch predictorsPublished by Association for Computing Machinery (ACM) ,1996
- Exploiting choicePublished by Association for Computing Machinery (ACM) ,1996
- Simultaneous multithreadingPublished by Association for Computing Machinery (ACM) ,1995
- Next cache line and set predictionPublished by Association for Computing Machinery (ACM) ,1995
- A comparative analysis of schemes for correlated branch predictionPublished by Association for Computing Machinery (ACM) ,1995
- ATOMACM SIGPLAN Notices, 1994
- The effect of speculatively updating branch history on branch prediction accuracy, revisitedPublished by Association for Computing Machinery (ACM) ,1994
- Alternative implementations of two-level adaptive branch predictionPublished by Association for Computing Machinery (ACM) ,1992