Abstract:
We present a new method for branch prediction that encodes in the branch instruction a formula, chosen by profiling, that is used to perform history-based prediction. By using a special class of Boolean formulas, our encoding is extremely concise. By replacing the large tables found in current predictors with a small, fast circuit, our scheme is ideally suited to future technologies that will have large wire delays. In a projected 70 nm technology and an aggressive clock rate of about 5 GHz, an implementation of our method that uses an 8-bit formula encoding has a misprediction rate of 6.0%, 42% lower than that of the best gshare predictor implementable in that same technology. In today's technology, a 16-bit version of our predictor can replace bias bits in an 8K-entry agree predictor to achieve a 2.86% misprediction rate, which is slightly lower than the 2.93% misprediction rate of the Alpha 21264 hybrid predictor, even though the Alpha predictor has almost twice the hardware budget. Our predictor also consumes much less power than table-based predictors. This paper describes our predictor, explains our profiling algorithm, and presents experimental results using the SPEC 2000 integer benchmarks. 1
Citations
|
1354
|
The simplescalar tool set, version 2.0
– Burger, Austin
- 1997
|
|
522
|
Combining branch predictors
– McFarling
- 1993
|
|
394
|
Communication Complexity
– Kushilevitz, Nisan
- 1997
|
|
324
|
The alpha 21264 microprocessor
– Kessler
- 1999
|
|
234
|
Clock rate versus ipc: The end of the road for conventional microarchitectures
– Agarwal, Hrishikesh, et al.
- 2000
|
|
145
|
Branch prediction for free
– Ball, Larus
- 1993
|
|
135
|
Two-level adaptive branch prediction
– Yeh, Patt
- 1991
|
|
101
|
Dynamic branch prediction with perceptrons
– JimĂ©nez, Lin
- 2001
|
|
94
|
Learning read-once formulas with queries
– Angluin, Hellerstein, et al.
- 1993
|
|
93
|
Alpha Architecture Reference Manual
– SITES, EDITOR
- 1992
|
|
91
|
The YAGS Branch Prediction Scheme
– Eden, Mudge
- 1998
|
|
84
|
Reducing branch costs via branch alignment
– Calder, Grunwald
- 1994
|
|
83
|
The BiMode Branch Predictor
– Lee, Chen, et al.
- 1997
|
|
81
|
The agree predictor: A mechanism for reducing negative branch history interference
– Sprangle, Chappell, et al.
- 1997
|
|
71
|
The impact of delay on the design of branch predictors. Microarchitecture, Dec 2000
– Jimenez, Keckler, et al.
|
|
66
|
A new technique for standby leakage reduction in high performance circuits
– Ye, Borkar, et al.
- 1998
|
|
54
|
Correlation and Aliasing in Dynamic Branch Predictors
– Sechrest, Lee, et al.
- 1996
|
|
49
|
Evidence-based static branch prediction using machine learning
– Calder, Grunwald, et al.
- 1997
|
|
36
|
Variable length path branch prediction
– Stark, Evers, et al.
- 1998
|
|
33
|
Near-optimal intraprocedural branch alignment
– Young, Johnson, et al.
- 1997
|
|
27
|
Architectural support for compiler-synthesized dynamic branch prediction strategies: Rationale and initial results
– August, Connors, et al.
- 1997
|
|
22
|
Compiler synthesized dynamic branch prediction
– Mahlke, Natarajan
- 1996
|
|
19
|
K7 Challenges Intel
– Diefendorff
- 1998
|
|
16
|
Dynamic feature selection for hardware prediction
– Fern, Givan, et al.
- 2000
|
|
16
|
Static correlated branch prediction
– Young, Smith
- 1999
|
|
15
|
Scaling of microarchitectural structures in future process technologies
– Agarwal, Keckler, et al.
- 2000
|
|
11
|
Extensions to cacti
– Reinman, Jouppi
- 1999
|
|
6
|
Static Methods in Branch Prediction
– Lindsay
- 1998
|