Nothing Special   »   [go: up one dir, main page]

skip to main content
article
Free access

Analysis of branch prediction via data compression

Published: 01 September 1996 Publication History

Abstract

Branch prediction is an important mechanism in modern microprocessor design. The focus of research in this area has been on designing new branch prediction schemes. In contrast, very few studies address the theoretical basis behind these prediction schemes. Knowing this theoretical basis helps us to evaluate how good a prediction scheme is and how much we can expect to improve its accuracy.In this paper, we apply techniques from data compression to establish a theoretical basis for branch prediction, and to illustrate alternatives for further improvement. To establish a theoretical basis, we first introduce a conceptual model to characterize each component in a branch prediction process. Then we show that current "two-level" or correlation based predictors are, in fact, simplifications of an optimal predictor in data compression, Prediction by Partial Matching (PPM).If the information provided to the predictor remains the same, it is unlikely that significant improvements can be expected (asymptotically) from two-level predictors, since PPM is optimal. However, there are a rich set of predictors available from data compression, several of which can still yield some improvement in cases where resources are limited. To illustrate this, we conduct trace-driven simulation running the Instruction Benchmark Suite and the SPEC CINT95 benchmarks. The results show that PPM can outperform a two-level predictor for modest sized branch target buffers.

References

[1]
Bell, T. C., Cleary, J. G. and Witten I. H. Text Compression. Englewood Cliffs, NJ: Prentice-Hall, 1990.]]
[2]
Calder, B. and Grunwald, D. Reducing branch costs via branch alignment. Proceedings of the 6th International Conference on Architectural Support for Programming Languages and Operating Systems, 242-251, 1994.]]
[3]
Chang, P., Hao, E., Yeh, T. and Patt, Y. Branch classification: a new mechanism for improving branch predictor performance. Proceedings of the 27th Annual International Symposium on Microarchitecture, 22-31, November 1994.]]
[4]
Cleary, J. G. and Witten, I. H. Data compression using adaptive coding and partial string matching. IEEE Transactions on Communications, Vol. 32, No. 4, 396-402, April 1984.]]
[5]
Curewitz K. M., Krishnan, P. and Vitter, J. S. Practical prefetching via data compression. Proceedings of the 1993 ACM SIGMOD International Conference on Management of Data, 257-266, May 1993.]]
[6]
Eustace, A. and Srivastava, A. ATOM: A flexible interface for building high performance program analysis tools. Proceedings of the Winter 1995 USENIX Technical Conference on UNIX and Advanced Computing Systems, 303-314, January 1995.]]
[7]
Krishnan, P. and Vitter, J. S. Optimalpredictionfor prefetching in the worst case. Proceedings of the 5th Annual ACM-SIAM Symposium on Discrete Algorithms, January 1994.]]
[8]
Kroeger, T. M. and Long, D. D. E. Predictingfile system actions from prior events. Proceedings of USENIX Winter Technical Conference, January 1996.]]
[9]
Lee, J.K.F. and Smith, A. J. Branch prediction strategies and branch target buffer design. IEEE Computer, Vol. 21, No. 7, 6-22, January 1984.]]
[10]
McFafiing, S. Combining branch predictors. WRL Technical Note TN-36, June 1993.]]
[11]
Moffat, A. implementing the PPM data compression scheme. IEEE Transactions on Communications, Vol. 38, No. 11, 1917-1921, November 1990.]]
[12]
Microprocessor Report, Sebastopol, CA: MicroDesign Resources, March 1995.]]
[13]
Mudge, T., Chen, I-C. K. and Coffey, J. T. Limits to branch prediction. Technical Report CSE-TR-282-96, University of Michigan, 1996.]]
[14]
Nair, R. Optimal 2-bit branch predictors. IEEE Transactions on Computers, Vol. 44, No. 5,698-702, May 1995.]]
[15]
Nair, R. Dynamic path-based branch correlation. Proceedings of the 28th Annual International Symposium on Microarchitecture, 15-23, November 1995.]]
[16]
Pan, S-T., So, K. and Rahmeh, J. T. Improving the accuracy of dynamic branch prediction using branch correlation. Proceedings of the 5th International Conference on Architectural Support for Programming Languages and Operating Systems, 76- 84, 1992.]]
[17]
Ross, S. M. Introduction to probability models. London, United Kingdom: Academic press, 1985.]]
[18]
Sechrest, S., Lee, C-C. and Mudge, T. Correlation and aliasing in dynamic branch predictors. Proceedings of the 23th International Symposium on Computer Architecture, 22-32, May 1996.]]
[19]
Smith, J. E. A study of branch prediction strategies. Proceedings of the 8th International Symposium on Computer Architecture, 135-148, May 1981.]]
[20]
SPEC CPU'95, Technical Manual, August 1995.]]
[21]
Uhlig, R., Nagle, D., Mudge, T., Sechrest, S. and Emer, J. Instruction Fetching: Coping with Code Bloat. Proceedings of the 22th International Symposium on Computer Architecture, 345- 356, June 1995.]]
[22]
Vitter, J. S. and Krishnan, P. Optimal prefetching via data compression. Proceedings of the 32nd Annual IEEE Symposium on Foundations of Computer Science, 121-130, October 1991.]]
[23]
Witten I. H., Moffat, A. and Bell T. C. Managing Gigabytes. New York, NY: Van Nostrand Reinhold, 1994.]]
[24]
Yeh, T-Y. and Patt, Y. Two-level adaptive training branch prediction. Proceedings of the 24th Annual International Symposium on Microarchitecture, 51-61, November 1991.]]
[25]
Yeh, T-Y. and Patt, Y. Alternative implementation of Two-Level Adaptive Branch Prediction. Proceedings of the 19th International Symposium on Computer Architecture, 124-134, May 1992.]]
[26]
Yeh, T-Y. and Part, Y. A comparison of dynamic branch predictors that use two levels of branch history. Proceedings of the 20th International Symposium on Computer Architecture, 257- 266, May 1993.]]
[27]
Young, C. and Smith, M. Improving the accuracy of static branch prediction using branch correlation. Proceedings of the 6th International Conference on Architectural Support for Programming Languages and Operating Systems, 232-241, 1994.]]
[28]
Young, C., Gloy, N. and Smith, M. A comparative analysis of schemes for correlated branch prediction. Proceedings of the 22th International Symposium on Computer Architecture, 276-286, June 1995.]]

Cited By

View all
  • (2024)Security attacks in Opportunistic Mobile Networks: A systematic literature reviewJournal of Network and Computer Applications10.1016/j.jnca.2023.103782221(103782)Online publication date: Jan-2024
  • (2020)Using Two-Level Context-Based Predictors for Assembly Assistance in Smart FactoriesIntelligent Methods in Computing, Communications and Control10.1007/978-3-030-53651-0_14(167-176)Online publication date: 28-Jul-2020
  • (2019)Safer Program Behavior Sharing Through Trace WringingProceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3297858.3304074(1059-1072)Online publication date: 4-Apr-2019
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 31, Issue 9
Sept. 1996
273 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/248209
Issue’s Table of Contents
  • cover image ACM Conferences
    ASPLOS VII: Proceedings of the seventh international conference on Architectural support for programming languages and operating systems
    October 1996
    290 pages
    ISBN:0897917677
    DOI:10.1145/237090
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 September 1996
Published in SIGPLAN Volume 31, Issue 9

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)280
  • Downloads (Last 6 weeks)45
Reflects downloads up to 25 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Security attacks in Opportunistic Mobile Networks: A systematic literature reviewJournal of Network and Computer Applications10.1016/j.jnca.2023.103782221(103782)Online publication date: Jan-2024
  • (2020)Using Two-Level Context-Based Predictors for Assembly Assistance in Smart FactoriesIntelligent Methods in Computing, Communications and Control10.1007/978-3-030-53651-0_14(167-176)Online publication date: 28-Jul-2020
  • (2019)Safer Program Behavior Sharing Through Trace WringingProceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3297858.3304074(1059-1072)Online publication date: 4-Apr-2019
  • (2018)A survey of techniques for dynamic branch predictionConcurrency and Computation: Practice and Experience10.1002/cpe.466631:1Online publication date: 2-Sep-2018
  • (2013)A cloud-powered driver-less printing system for smartphonesProceedings of the 2013 ACM international joint conference on Pervasive and ubiquitous computing10.1145/2493432.2493462(255-264)Online publication date: 8-Sep-2013
  • (2011)Portable trace compression through instruction interpretation(IEEE ISPASS) IEEE INTERNATIONAL SYMPOSIUM ON PERFORMANCE ANALYSIS OF SYSTEMS AND SOFTWARE10.1109/ISPASS.2011.5762720(107-116)Online publication date: Apr-2011
  • (2010)Real-time unobtrusive program execution trace compression using branch predictor eventsProceedings of the 2010 international conference on Compilers, architectures and synthesis for embedded systems10.1145/1878921.1878938(97-106)Online publication date: 24-Oct-2010
  • (2008)Predicting future locations using prediction-by-partial-matchProceedings of the first ACM international workshop on Mobile entity localization and tracking in GPS-less environments10.1145/1410012.1410014(1-6)Online publication date: 19-Sep-2008
  • (2006)Comparison of different methods for next location predictionProceedings of the 12th international conference on Parallel Processing10.1007/11823285_96(909-918)Online publication date: 28-Aug-2006
  • (2019)Bit-level perceptron prediction for indirect branchesProceedings of the 46th International Symposium on Computer Architecture10.1145/3307650.3322217(27-38)Online publication date: 22-Jun-2019
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media