Extending correlation in branch prediction schemes
The main aim of this research is to propose a new Two-Level Adaptive Branch Prediction scheme, based on additional correlation information. Conventional two-level adaptive branch prediction exploits the correlation between the outcome of a branch and the path followed through a program to reach the branch. Typically the program path is identified by recording whether each branch on the path is taken or not taken. Unfortunately, this limited information is insufficient to allow one path to a branch to be distinguished from other potential paths to the same branch. In this paper, we explore the benefits of adding sufficient information, in the form of successive branch addresses, to uniquely identify each program path. We use trace-driven simulation to compare our modified branch prediction scheme with a conventional GAp two-level predictor and demonstrate that our new predictor performs better than the conventional GAp scheme at the same level of hardware complexity.