Affiliation:
1. EECS Department, University of Michigan, 1301 Beal Ave., Ann Arbor, Michigan
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.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
17 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Security attacks in Opportunistic Mobile Networks: A systematic literature review;Journal of Network and Computer Applications;2024-01
2. Using Two-Level Context-Based Predictors for Assembly Assistance in Smart Factories;Advances in Intelligent Systems and Computing;2020-07-28
3. Bit-level perceptron prediction for indirect branches;Proceedings of the 46th International Symposium on Computer Architecture;2019-06-22
4. Safer Program Behavior Sharing Through Trace Wringing;Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems;2019-04-04
5. A survey of techniques for dynamic branch prediction;Concurrency and Computation: Practice and Experience;2018-09-02