ABSTRACT
Branch predictors typically use combinations of branch PC bits and branch histories to make predictions. Recent improvements in branch predictors have come from reducing the effect of interference, i.e. multiple branches mapping to the same table entries. In contrast, the branch difference predictor (BDP) uses data values as additional information to improve the accuracy of conditional branch predictors. The BDP maintains a history of differences between branch source register operands, and feeds these into the prediction process.
An important component of the BDP is a rare event predictor (REP) which reduces learning time and table interference. An REP is a cache-like structure designed to store patterns whose predictions differ from the norm.
Initially, ideal interference-free predictors are evaluated to determine how data values improve correlation. Next, execution driven simulations of complete designs realize this potential. The BDP reduces the misprediction rate of five SPEC95 integer benchmarks by up to 33% compared to gshare and by up to 15% compared to Bi-Mode predictors.
- 1.David L. August, Daniel A. Connors, John C, Gyilenhaal, Wen-mei W. Hwu, "Architectural Support for Compiler- Synthesized Dynamic Branch Prediction, Strategies: Rational and Initial Results," 3rd Intl. Syrup. on High Performance Comp. Arch., pp. 84-93, Feb. 1997. Google ScholarDigital Library
- 2.Douglas C. Burger, Todd M. Austin, "The SimpleScalar Tool Set, Version 2.0," Univ. of Wisconsin - Madison Comp. Sci. Tech. Report #1342, June 1997.Google Scholar
- 3.Po-Yung Chang, Eric Hao, Yale N. Putt, "Alternative Implementations of Hybrid Branch Predictors," 28th Intl. Symp. on Microarchitecture, pp. 252-257, Nov. 1995. Google ScholarDigital Library
- 4.i-Cheng K. Chen, John T. Coffey, Trevor N. Mudge, "Analysis of Branch Prediction via Data Compression," 7th Intl, Conf. on Arch. Support for Prog. Lang. and Op. Sys., pp. 128- 137, Oct, 1996. Google ScholarDigital Library
- 5.Avinoam Nomik Eden, Trevor Mudge, "The YAGS Branch Prediction Scheme," 31st Intl. Syrup. on Microarchitecture, pp, 69-77, Dec. 1998. Google ScholarDigital Library
- 6.Alexandre Farcy, O!ivier Temam, Roger Espasa, Toni Juan, "Datafiow Analysis of Branch Mispredictions and Its Applications to Early Resolution of Branches," 31nd Intl. Syrup. on Microarchitecture, pp. 59-68, Nov. 1998. Google ScholarDigital Library
- 7.Jose Gonzalez, Antonio Gonzalez, "Control-Flow Speculation through Value Prediction for Superscalar Processors," Intl. Conf. on Parallel Arch. and Comp. Tech., Oct. 1999. Google ScholarDigital Library
- 8.Linley Gwenmap, "Intel Discloses New IA-64 Features," Microprocessor Report, pp. 16-19, March 1999.Google Scholar
- 9.Timothy H. Heil, "Branch Difference Prediction and the Rare Event Predictor," Univ. of Wisonsin - Madison Tech. Rep. #ECE-99-4.Google Scholar
- 10.Toni Juan, Sanji Sanjeevan, Juan J. Navarro, "Dynamic History-Length Fitting: a third level of adaptivity for branch" prediction," 25th Intl. Syrup. on Computer Architecture, pp. 155-166, June 1998. Google ScholarDigital Library
- 11.John Kalamatianos, David R. Kaeti, "Predicting Indirect Branches via Data Compression," 31st Intl. Syrup. on Microarchitecture, pp. 272-280, Dec. 1998. Google ScholarDigital Library
- 12.Chih-Chieh Lee, l-Cheng K. Chen, Trevor N. Mudge, "The Bi-Mode Branch Predictor," 30th Intl. Syrup. on Microarchitecture, pp. 4-13, Dec. 1997. Google ScholarDigital Library
- 13.Mikko H. Lipasti, John Paul Shen, "Exceeding the Dataflow Limit via Value Prediction," 29th Intl. Syrup. on Microarchitecture, pp. 226-237, Dec. 1996. Google ScholarDigital Library
- 14.Cathy May, ed., The PowerPC Architecture, 2nd ed., Morgan Kaufmann, May 1994.Google Scholar
- 15.Scott M. McFarling, "Combining Branch Predictors," Technical Report TN-36, Digital Western Research Laboratory, June 1993.Google Scholar
- 16.Pierre Michaud, Andre Seznec, Richard Uhlig, "Trading Conflict and Capacity Aliasing in Conditional Branch Predictors,'' 24th Intl. Syrup. on Computer Architecture, pp. 292-303, June 1997. Google ScholarDigital Library
- 17.A. Moffat, "Implementing the PPM data compression scheme," IEEE Trans. on Communications, vol. 38, no. 11, pp. 1917-1921, Nov. 1990.Google ScholarCross Ref
- 18.Andreas Moshovos, Gurindar S. Sohi, "Streamlining Interoperation Memory Communication via Data Dependence" Prediction,'' 30th Intl. Syrup. on Microarchitecture, pp. 235-245, Dec. 199'7. Google ScholarDigital Library
- 19.Ravi Nair, "Dynamic path-based branch correlation," 28th Intl. Syrup. on Microarchitecture, pp. 15-23, Nov. 1995. Google ScholarDigital Library
- 20.Bohuslav Rychlik, John Faistl, Bryon King, John P. Shen, "Efficacy and Performance Impact of Value Prediction," Intl. Conf. on Parallel Arch. and Comp. Tech., Oct. 1998. Google ScholarDigital Library
- 21.Yiannakis Sazeides, James E. Smith, "The Predictability of Data Values," 30th Intl. Syrup. on Microarchitecture, pp. 248- 258, Dec. 1997. Google ScholarDigital Library
- 22.Stuart Sechrest, Chih-Chieh Lee, Trevor Mudge, "Correlation and Aliasing in Dynamic Branch Predictors," 23rd Intl. Syrup. on Computer Architecture, pp. 22-31, May 1996. Google ScholarDigital Library
- 23.James E. Smith, "A study of branch prediction strategies," 8th Intl. Syrup. on Computer Architecture, pp. 135-148, May 1981 Google ScholarDigital Library
- 24.Jared Stark, Marius Evers, Yale N. Putt, "Variable Length Path Branch Prediction," 8th Intl. Conf. on Arch. Support for Prog. Lang. and Op. Sys., pp. 170-179, Oct. 1998. Google ScholarDigital Library
- 25.Stefanos Kaxiras, James R. Goodman, "Improving CC- NUMA Performance Using Instmction.Based Prediction," To appear in 5th Intl. Symp. on High Performance Comp. Arch., 1999. Google ScholarDigital Library
- 26.Kai Wang, Manoj Franklin, "Highly Accurate Data Value Prediction using Hybrid Predictors," 30th Intl. Syrup. on Microarchitecture, pp. 281-290, Dec. 1997. Google ScholarDigital Library
- 27.Tse-Yu Yeh, Yale N. Putt, ~'A Comparison of Dynamic Branch Predictors that use Two Levels of Branch History," 20th Intl. Syrup. on Computer Architecture, pp. 257-266, May. 1993. Google ScholarDigital Library
Index Terms
- Improving branch predictors by correlating on data values
Recommendations
Multiple-block ahead branch predictors
ASPLOS VII: Proceedings of the seventh international conference on Architectural support for programming languages and operating systemsA basic rule in computer architecture is that a processor cannot execute an application faster than it fetches its instructions. This paper presents a novel cost-effective mechanism called the two-block ahead branch predictor. Information from the ...
Multiple-block ahead branch predictors
A basic rule in computer architecture is that a processor cannot execute an application faster than it fetches its instructions. This paper presents a novel cost-effective mechanism called the two-block ahead branch predictor. Information from the ...
Comments