Accuracy Enhancement by Selective Use of Branch History in Embedded Processor

The branch prediction accuracy is one of essential parts of performance improvement in embedded processors as well as modern microarchitectures. Until now, the length of branch history has been statically fixed for all branch instructions, and the history length is usually selected in accordance with the size of prediction table. In this paper, we propose a dynamic per-branch history length adjustment policy, which can dynamically change the history length for each branch instruction. The proposed solution tracks data dependencies of branch instructions and identifies strongly correlated branches in branch history. Compared to the previous bimodal style predictors and the fixed history length predictors in embedded processors, our method provides better history length for each branch instruction, resulting in substantial improvement in prediction accuracy.

[1]  David A. Patterson,et al.  Computer Architecture - A Quantitative Approach, 5th Edition , 1996 .

[2]  Guang R. Gao,et al.  Elastic history buffer: a low-cost method to improve branch prediction accuracy , 1997, Proceedings International Conference on Computer Design VLSI in Computers and Processors.

[3]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[4]  Steve Furber ARM System-on-Chip Architecture , 2000 .

[5]  Juan J. Navarro,et al.  Dynamic history-length fitting: a third level of adaptivity for branch prediction , 1998, ISCA.

[6]  Yale N. Patt,et al.  A two-level approach to making class predictions , 2003, 36th Annual Hawaii International Conference on System Sciences, 2003. Proceedings of the.

[7]  Yale N. Patt,et al.  Variable length path branch prediction , 1998, ASPLOS VIII.