Misprediction of conditional branches is a major cause for reduced performance in processor implementations with large numbers of functional units. We present a hardware scheme which records the path leading to a conditional branch in order to predict the outcome of the branch instruction more accurately. The proposed scheme is analyzed using instruction traces from integer benchmark programs. The results indicate that knowledge of path information leads to better prediction than knowledge of simply the previous branch outcomes for a given number of history items. The results further show that even for equivalent hardware cost, path-based correlation often outperforms patient-based correlation, especially when history information is periodically destroyed, for example, due to context switches.
[1]
Michael D. Smith,et al.
A comparative analysis of schemes for correlated branch prediction
,
1995,
Proceedings 22nd Annual International Symposium on Computer Architecture.
[2]
Michael D. Smith,et al.
Improving the accuracy of static branch prediction using branch correlation
,
1994,
ASPLOS VI.
[3]
Chris H. Perleberg,et al.
Branch Target Buffer Design and Optimization
,
1993,
IEEE Trans. Computers.
[4]
Thomas Thomas,et al.
The PowerPC 620 microprocessor: a high performance superscalar RISC microprocessor
,
1995,
Digest of Papers. COMPCON'95. Technologies for the Information Superhighway.