Direction-Embedded Branch Prediction based on the Analysis of Neural Network

신경망의 분석을 통한 방향 정보를 내포하는 분기 예측 기법

  • Kwak Jong Wook (Department of Electrical Engineering and Computer Science, Seoul National University) ;
  • Kim Ju-Hwan (Department of Electrical Engineering and Computer Science, Seoul National University) ;
  • Jhon Chu Shik (Department of Electrical Engineering and Computer Science, Seoul National University)
  • 곽종욱 (서울대학교 전기ㆍ컴퓨터 공학부) ;
  • 김주환 (서울대학교 전기ㆍ컴퓨터 공학부) ;
  • 전주식 (서울대학교 전기ㆍ컴퓨터 공학부)
  • Published : 2005.01.01

Abstract

In the pursuit of ever higher levels of performance, recent computer systems have made use of deep pipeline, dynamic scheduling and multi-issue superscalar processor technologies. In this situations, branch prediction schemes are an essential part of modem microarchitectures because the penalty for a branch misprediction increases as pipelines deepen and the number of instructions issued per cycle increases. In this paper, we propose a novel branch prediction scheme, direction-gshare(d-gshare), to improve the prediction accuracy. At first, we model a neural network with the components that possibly affect the branch prediction accuracy, and analyze the variation of their weights based on the neural network information. Then, we newly add the component that has a high weight value to an original gshare scheme. We simulate our branch prediction scheme using Simple Scalar, a powerful event-driven simulator, and analyze the simulation results. Our results show that, compared to bimodal, two-level adaptive and gshare predictor, direction-gshare predictor(d-gshare. 3) outperforms, without additional hardware costs, by up to 4.1% and 1.5% in average for the default mont of embedded direction, and 11.8% in maximum and 3.7% in average for the optimal one.

파이프라인과 슈퍼스칼라 방식 그리고 동적 스케줄링 기법이 일반화된 시스템 구조 하에서, 분기 명령어에 대한 분기 예측 정확도는 프로세서 입장에서 뿐만 아니라 시스템 전체적인 성능에 있어서 큰 영향을 미친다. 이는 분기 예측이 실패했을 경우 잘못된 분기 예측으로 인한 페널티가 발생하기 때문이며, 이러한 페널티는 파이프라인의 길이가 깊어지고 더욱 많은 수의 명령어가 동시에 실행되는 환경일수록 더 큰 값을 가진다. 본 논문에서는 분기 예측의 정확도를 높이기 위해서, 분기 예측과 관련된 신경망을 구축하여 이론 통해 분기 예측에 필요한 각 요소별 가중치의 경향을 분석한다. 그 결과, 높은 가중치를 가지는 구성 요소를 기존의 분기 예측 기법에 추가시킨 새로운 형태의 분기 예측 기법을 제안한다. 제안된 새로운 기법은 실행 구동방식의 시뮬레이터인 Simple Scalar를 통하여 모의실험 되었으며, 실험 결과 본 논문에서 제시한 "분기 명령어의 방향 정보를 내포하는 새로운 기법(direction-gshare)"이 기존의 gshare 기법과 비교하여 동일한 하드웨어 복잡도를 가지면서도 일반적인 Bimodal 기법이나 이단계 적응형 분기 예측 기법 혹은 그의 변형인 gshare 기법에 비하여 분기 예측의 정확도가 최대 4.1%, 평균 1.5% 더 우수한 결과를 보였으며, 최적의 방향 정보 내포량에 대해서는 최대 11.8%, 평균 3.7%의 성능 향상을 보였다.

Keywords

References

  1. J. L. Hennessy and D.A Patterson, Computer Architecture : A Quantitative Approach, Third Edition, Morgan Kaufmann Publishers, Inc, 20036
  2. S. Haykin, Neural Networks : A Comprehensive Foundation, Second Edition, Prentice Hall, 1999
  3. Daniel A. Jimenez and Calvin Lin, Neural Methods for Dynamic Branch Prediction, ACM Transactions on Computer Systems, Vol. 20, No. 4, November 2002 https://doi.org/10.1145/571637.571639
  4. Rosenblatt, F. Principles of Neurodynamics : Perceptrons and the Theory of Brain Mechanisms. Spartan, New York, 1962
  5. L. Faucett, Fundamentals of Neural Networks : Architectures, Algorithms and Applications. Prentice-Hall, Englewood Cliffs, NJ, 1994
  6. Block, H. D., The Perceptron : A Model for Brain Functioning. Rev. Mod. Phy. 34, 123-135, 1962 https://doi.org/10.1103/RevModPhys.34.123
  7. Yeh, T. Y. and Patt, Y. N., Two-level adaptive branch prediction. In Proceedings of the 24th ACM/IEEE International Symposium on Microarchitecture, 51-61, 1991
  8. Sechrest, S., Lee, et al., Corelation and Aliasing in Dynamic Branch Predictors, in Proceedings of the 23rd ISCA, 22-32, 1996 https://doi.org/10.1145/232973.232978
  9. Eric Sprangle et al., The Agree Predictor : A Mechanism for Reducing Negative Branch History Interference, IEEE ISCA 97 https://doi.org/10.1145/264107.264210
  10. Chih-Chieh Lee et al., The Bi-Mode Branch Predictor, International Symposium on Microarchitecture IEEE '97 https://doi.org/10.1109/MICRO.1997.645792
  11. McFarling, S., Combining branch predictors. Tech. Rep. TN-36m, Digital Western Research Lab., June, 1993
  12. Brad Calder, D. Grunwald, M. Jones, D. Lindsay, J. Martin, M. Mozer, and B. Zorn. Evidence-based static branch prediction using machine learning. ACM Transactions on Programming Languages and Systems, 19(1), 1997 https://doi.org/10.1145/239912.239923
  13. Jimenez, D. A. and Lin, C., Dynamic branch prediction with percetprons. In Proceedings of the 7th International Symposium on high Performance Computer Architecture, 197-206, 2001 https://doi.org/10.1109/HPCA.2001.903263
  14. G. Steven, et al., Dynamic Branch Prediction using Neural Networks, In Proceedings of the Euromicro Symposium on Digital Systems Design, IEEE, 2001 https://doi.org/10.1109/DSD.2001.952279
  15. SPEC CPU2000 Benchmarks, http://www.specbench.org
  16. D. Burger, T. M. Austin, and S. Bennett, Evaluating future micro-processors: the SimpleScalar tool set, Tech. Report TR-1308, Univ. of Wisconsin-Madison Computer Sciences
  17. Arun D. Kulkarni, Artificial Neural Networks for Image Understanding. Van Nostrand Reinhold, 1993