Branch history table prediction of moving target branches due to subroutine returns

David R Kaeli, Philip Emma · 1991

Ideally, a pipeline processor can run at a rate that is limited by its slowest stage.Branches in the instruction stream disrupt the pipeIine, and reduce processor performance to well below ideal.Since workloads contain a high percentage of taken branches, techniques are needed to reduce or eliminate thk degradation.A Branch History Table (BHT) stores past action and target for branches, and predicts that future behavior will repeat.Although past action is a good indicator of future action, the subroutine CALL/RETURN paradigm makes correct prediction of the branch target dlfflcult.We propose a new stack mechanism for reducing this type of mispredlction.Using traces of the SPEC benchmark suite running on an RS/6000, we provide an analysis of the performance enhancements possible using a BHT.We show that the proposed mechanism can reduce the number of branch wrong guesses by 18.2°/0 on average.

Read the paper · More papers on PaperTik