Two-Level Adaptive Training Branch Prediction
This paper is under a licence that does not allow it to be reproduced, so what is here is its front matter and a short abstract. Read it at the publisher's page.
Có sự suy giảm nghiêm trọng về hiệu năng trong các máy có đường ống sâu và/hoặc siêu vô hướng do các lỗi dự đoán gây ra bởi lượng lớn công việc suy đoán phải bị loại bỏ [1, 8]. Đây là động lực để đề xuất một sơ đồ dự đoán nhánh động mới có độ chính xác cao hơn. Sơ đồ mới sử dụng hai mức thông tin lịch sử nhánh để đưa ra dự đoán. Mức thứ nhất là lịch sử của nhánh gần nhất. Mức thứ hai là hành vi nhánh đối với lần xuất hiện gần nhất của mẫu duy nhất đó trong lịch sử của nhánh gần nhất. Thông tin lịch sử được thu thập trực tiếp trong quá trình thực thi mà không cần thực thi chương trình trước đó, loại bỏ nhược điểm chính của Static Training Prediction. Sơ đồ được đề xuất ở đây được gọi là Two-Level Adaptive Training Branch Prediction, vì các dự đoán không chỉ dựa trên bản ghi của nhánh gần nhất, mà còn dựa trên bản ghi của lần xuất hiện gần nhất của bản ghi cụ thể của nhánh gần nhất.
Các mô phỏng dựa trên trace đã được sử dụng trong nghiên cứu này. Sơ đồ dự đoán nhánh Two-Level Adaptive Training cũng như các sơ đồ dự đoán nhánh động và tĩnh khác đã được mô phỏng trên bộ phép đo chuẩn SPEC. Bằng cách sử dụng Two-Level Adaptive Training Branch Prediction, độ chính xác dự đoán trung bình đối với các phép đo chuẩn đạt 97 phần trăm, trong khi hầu hết các sơ đồ khác đạt dưới 93 phần trăm. Điều này biểu thị sự giảm hơn 100 phần trăm số lần dự đoán sai khi sử dụng sơ đồ Two-Level Adaptive Training. Sự giảm này có thể trực tiếp dẫn đến mức tăng hiệu năng lớn trên một bộ xử lý hiệu năng cao.
Abstract
High-performance microarchitectures use, among other structures, deep pipelines to help speed up execution. The importance of a good branch predictor to the effectiveness of a deep pipeline in the presence of conditional branches is well-known. In fact, the literature contains proposals for a number of branch prediction schemes. Some are static in that they use opcode information and profiling statistics to make predictions. Others are dynamic in that they use run-time execution history to make predictions.
This paper proposes a new dynamic branch predictor, the Two-Level Adaptive Training scheme, which alters the branch prediction algorithm on the basis of information collected at run-time.
Several configurations of the Two-Level Adaptive Training Branch Predictor are introduced, simulated, and compared to simulations of other known static and dynamic branch prediction schemes. Two-Level Adaptive Training Branch Prediction achieves 97 percent accuracy on nine of the ten SPEC benchmarks, compared to less than 93 percent for other schemes. Since a prediction miss requires flushing of the speculative execution already in progress, the relevant metric is the miss rate. The miss rate is 3 percent for the Two-Level Adaptive Training scheme vs. 7 percent (best case) for the other schemes. This represents more than a 100 percent improvement in reducing the number of pipeline flushes required.
Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission.
© 1991 ACM 0-89791-460-0/91/0011/0051 \$1.50
This section is missing here.
1 Introduction
This section is missing here.
2 Two-Level Adaptive Training Branch Prediction
This section is missing here.
3 Implementation Methods
References
- M. Butler, T-Y Yeh, Y.N. Patt, M. Alsup, H. Scales, and M. Shebanow, “Instruction Level Parallelism is Greater Than Two”, Proceedings of the 18th International Symposium on Computer Architecture, (May 1991), pp. 276–286.
- D. R. Kaeli and P. G. Emma, “Branch History Table Prediction of Moving Target Branches Due to Subroutine Returns”, Proceedings of the 18th International Symposium on Computer Architecture, (May 1991), pp. 34–42.
- Tse-Yu Yeh, “Two-Level Adaptive Training Branch Prediction”, Technical Report, University of Michigan, (1991).
- Motorola Inc., “M88100 User’s Manual”, Phoenix, Arizona, (March 13, 1989).
- W.W. Hwu, T.M.Conte, and P.P.Chang, “Comparing Software and Hardware Schemes for Reducing the Cost of Branches”, Proceedings of the 16th International Symposium on Computer Architecture, (May 1989).
- N.P. Jouppi and D. Wall, “Available Instruction-Level Parallelism for Superscalar and Superpipelined Machines.”, Proceedings of the Third International Conference on Architectural Support for Programming Languages and Operating Systems, (April 1989), pp. 272-282.
- D. J. Lilja, “Reducing the Branch Penalty in Pipelined Processors ”, IEEE Computer, (July 1988), pp.47-55.
- W.W. Hwu and Y.N. Patt, “Checkpoint Repair for Out-of-order Execution Machines”, IEEE Transactions on Computers, (December 1987), pp.1496-1514.
- P. G. Emma and E. S. Davidson, “Characterization of Branch and Data Dependencies in Programs for Evaluating Pipeline Performance” , IEEE Transactions on Computers, (July 1987), pp.859-876.
- J. A. DeRosa and H. M. Levy, “An Evaluation of Branch Architectures ”, Proceedings of the 14th International Symposium on Computer Architecture, (June 1987), pp.10-16.
- D.R. Ditzel and H.R. McLellan, “Branch Folding in the CRISP Microprocessor: Reducing Branch Delay to Zero”, Proceedings of the 14th International Symposium on Computer Architecture, (June 1987), pp.2-9.
- S. McFarling and J. Hennessy, "Reducing the Cost of Branches", Proceedings of the 13th International Symposium on Computer Architecture, (1986), pp.396-403.
- J. Lee and A. J. Smith, "Branch Prediction Strategies and Branch Target Buffer Design", IEEE Computer, (January 1984), pp.6-22.
- T.R. Gross and J. Hennessy, "Optimizing Delayed Branches", Proceedings of the 15th Annual Workshop on Microprogramming, (Oct. 1982), pp.114-120.
- D.A. Patterson and C.H. Sequin, "RISC-I: A Reduced Instruction Set VLSI Computer", Proceedings of the 8th International Symposium on Computer Architecture, (May. 1981), pp.443-458. Read it here
- J.E. Smith, "A Study of Branch Prediction Strategies", Proceedings of the 8th International Symposium on Computer Architecture, (May. 1981), pp.443-458.
- L.E. Shar and E.S. Davidson, "A Multiminiprocessor System Implemented Through Pipelining.", IEEE Computer, (Feb. 1974), pp.42-51.
- T. C. Chen, "Parallelism, Pipelining and Computer Efficiency", Computer Design, Vol. 10, No. 1, (Jan. 1971), pp.69-74.
Read off the page by a vision model reading the page images using olmOCR-2-7B-1025-FP8. Translated into Tiếng Việt by gpt-5, against glossary version 7. Translated from the English.
Read off the page by a vision model reading the page images using olmOCR-2-7B-1025-FP8.