Browse > Article

Simple Recovery Mechanism for Branch Misprediction in Global-History-Based Branch Predictors Allowing the Speculative Update of Branch History  

Ko, Kwang-Hyun (국립한국농업전문학교)
Cho, Young-Il (수원대학교 컴퓨터학과)
Abstract
Conditional branch prediction is an important technique for improving processor performance. Branch mispredictions, however, waste a large number of cycles, inhibit out-of-order execution, and waste electric power on mis-speculated instructions. Hence, the branch predictor with higher accuracy is necessary for good processor performance. In global-history-based predictors like gshare and GAg, many mispredictions come from commit update of the history. Some works on this subject have discussed the need for speculative update of the history and recovery mechanisms for branch mispredictions. In this paper, we present a simple mechanism for recovering the branch history after a misprediction. The proposed mechanism adds an age_counter to the original predictor and doubles the size of the branch history register. The age_counter counts the number of outstanding branches and uses it to recover the branch history register. Simulation results on the Simplescalar 3.0/PISA tool set and the SPECINTgS benchmarks show that gshare and GAg with the proposed recovery mechanism improved the average prediction accuracy by 2.14$\%$ and 9.21$\%$, respectively and the average IPC by 8.75$\%$ and 18.08$\%$, respectively over the original predictor.
Keywords
branch prediction; misprediction; speculative update; branch history; recovery mechanism; outstanding branches; prediction accuracy;
Citations & Related Records
연도 인용수 순위
  • Reference
1 Z. Lu, J. Lach, M. Stan, and K. Skadron. 'Alloyed Branch History: Combining Global and Local Branch History for Robust Performance,' International Journal of Parallel Programming, Kluuier, volume 31, number 2, Apr. 2003   DOI
2 G.H. Loh, D.S. Henry, 'Predicting Conditional Branches with Fusion-based Hybrid Predictors,' PACT2002, pp 395-405, Sep. 2002   DOI
3 R. E. Kessler, E. J. McLellan, and D. A. Webb, 'The Alpha 21264 microprocessor architecture,' in Proceedings of the 1998 International Conference on Computer Design, pp. 90-95, Oct. 1998   DOI
4 K. Diefendorff, 'K7 challenges Intel,' Microprocessor Report, pp. 1, 6-11, Oct. 26 1998
5 K. Skadron, and M. Martonosi, 'Speculative Updates of Local and Global Branch History: A Quantitative Analysis,' JILP Vol. 2, Jan. 2000
6 T.-Y. Yeh and Y. N. Patt, 'Alternative implementations of two-level adaptive branch prediction,' in Proceedings of the 19th Annual International Symposium on Computer Architecture, pp. 124-34, May 1992   DOI
7 The Standard Performance Evaluation Corporation, 'SPEC CPU95 Benchmarks,' WWW site: http://www.specbench.org/osg/cpu95, Dec. 1999
8 K. Skadron, P. S. Ahuja, M. Martonosi, and D. W. Clark, 'Improving prediction for procedure returns with return-address-stack repair mechanisms,' in Proceedings of the 31st Annual ACM/IEEE International Symposium on Microarchitecture, pp. 259-71, Dec. 1998   DOI
9 D. Burger, T. M. Austin, and S. Bennett, 'Evaluating future microprocessors: the SimpleScalar tool set,' Tech Report TR-1308, University of Wisconsin-Madison Computer Sciences Department, July 1996
10 S. Jourdan, J. Stark, T.-H. Hsing, and Y. N. Patt, 'Recovery requirements of branch prediction storage structures in the presence of mispredicted-path execution,' International Journal of Parallel Programming, vol. 25, pp. 363-83, Oct. 1997   DOI   ScienceOn
11 E. Hao, P.-Y. Chang, and Y. Patt, 'The effect of speculatively updating branch history on branch prediction accuracy, revisited,' in Proceedings of the 27th Annual International Symposium on Microarchitecture, pp. 228-32, Nov. 1994   DOI
12 M. Evers, S. J. Patel, R. S. Chappell, and Y. N. Patt, 'An analysis of correlation and predictability: What makes two-level branch predictors work,' in Proceedings of the 25th Annual International Symposium On Computer Architecture, pp. 52-61, June 1998   DOI
13 A. R. Talcott, W. Yamamoto, M. J. Serrano, R. C. Wood, and M. Nemirovsky, 'The impact of unresolved branches on branch prediction scheme performance,' in Proceedings of the 21st Annual International Symposium on Computer Architecture, pp. 12-21, Apr. 1994   DOI