Skip to main content

Static Correlated Branch Prediction

01 September 1999

New Image

Recent work in history-based branch prediction uses novel hardware structures to capture branch correlation and increase branch prediction accuracy. Branch correlation occurs when the outcome of a conditional branch can be accurately predicted by observing the outcomes of previously-executed branches in the dynamic instruction stream. In this article, we show how to instrument a program so that it is practical to collect run-time statistics to transform the program so that its static branch prediction accuracy is improved. The run-time information that we gather is called a path profile, and it summarizes how often each executed sequence of program points occurs in the program trace. Our path profiles are more general than those previously proposed.