Sepculative Updates of a Stride Value Predictor in Wide-Issue Processors

와이드 이슈 프로세서를 위한 스트라이드 값 예측기의 모험적 갱신

  • 전병찬 (순천향대학교 컴퓨터학부) ;
  • 이상정 (순천향대학교 컴퓨터학부)
  • Published : 2001.12.01

Abstract

In superscalar processors, value prediction is a technique that breaks true data dependences by predicting the outcome of an instruction in order to exploit instruction level parallelism(ILP). A value predictor looks up the prediction table for the prediction value of an instruction in the instruction fetch stage, and updates with the prediction result and the resolved value after the execution of the instruction for the next prediction. However, as the instruction fetch and issue rates are increased, the same instruction is likely to fetch again before is has been updated in the predictor. Hence, the predictor looks up the stale value in the table and this mostly will cause incorrect value predictions. In this paper, a stride value predictor with the capability of speculative updates, which can update the prediction table speculatively without waiting until the instruction has been completed, is proposed. Also, the performance of the scheme is examined using Simplescalar simulator for SPECint95 benchmarks in which our value predictor is added.

슈퍼스칼라 프로세서에서 값 예측(value prediction)은 한 명령의 결과를 미리 예측하여 명령들 간의 데이터 종속관계를 극복하고 실행함으로써 명령어 수준 병렬성(Instruction Level Parallesim, ILP)을 이용하는 기법이다. 값 예측기(value predictor)는 명령어 페치 시에 예측 테이블을 참조(lookup)하여 값을 예측하고, 명령의 실행 후 판명된 예측 결과에 따라 테이블을 갱신(update)하여 이 후의 참조를 대비한다. 그러나, 최근의 값 예측기는 프로세서의 명령 페치 및 이슈율이 커짐에 따라 예측 테이블이 갱신되기 전에 다시 같은 명령이 페치되어 갱신되지 못한 낡은 값(stale value)으로 예측되는 경우가 빈번히 발생하여 예측기의 성능이 저하되는 경향이 있다. 본 논문에서는 이러한 성능저하를 줄이기 위해 명령의 결과가 나올 때가지 기다리지 않고 테이블 값을 모험적으로 갱신(speculative update)하는 스트라이트 값 예측기(stride value predictor)를 제안한다. 제안된 방식의 타당성을 검증하기 위해 SimpleScalar 시뮬레이터 상에 제안된 예측기를 구현하여 SPECint95 벤치마크를 시뮬레이션하고 제안된 모험적 갱신의 스트라이드 예측기가 기존의 스트라이드 예측기 보다 성능이 향상됨을 보인다.

Keywords

References

  1. S.A.Mahlke, 'Exploiting Instruction Level Parallelism in the Presence of Conditional Branches,' Ph.D dissertation, Department of Electrical and Computer Engineering, University of Illinois. Urbana, IL, 1996
  2. T.Heil, Z.Smith, and J.Smith, 'Improving Branch Predictors by Correlating on Data Values,' Proceedings of the 32nd International Symposium Microarchitecture (MICRO-32), Nov. 1999 https://doi.org/10.1109/MICRO.1999.809440
  3. R.Rakvic, B.Black, and P.Shen, 'Completion Time Multiple Branch Prediction for Enhancing Trace Cache Performance,' Proceedings of the 27th Annual International Symposium on Computer Architecture (ISCA-27), June 2000 https://doi.org/10.1145/339647.339654
  4. K.Skadron, M.Martonosi, and D.Clark. 'Speculative Updates o[ Local and Global Branch History' A Quantitativc Analysis,' Journal of Instruction-Level Parallelism, vol.2, Jan. 2000
  5. T. Yeh and Y.Patt, 'Two-Level Adaptive Branch Prediction,' Proceedings of the 24th International Symposium microarchiteeture (MICRO-24), Nov. 1991
  6. B.Calder, B.Reinman and D.Tullsen, 'Selective Value Prediction,' Proceedings of the 26,h International Symposium on Computer Architecture (ISCA-26), May 1999 https://doi.org/10.1109/ISCA.1999.765940
  7. F.Gabbay, and A. Mendclson, 'Speculative Execution Based on Value Prediction,' EE Department TR 1080, Technion-Israel Institute of Technology, Nov, 1996
  8. F.Gabbay, and A.Mendelson, 'The Effect of Instruction Fetch Bandwidth On Value Prediction,' Proceedings of the 25th International Symposium on Computer Architecture (ISCA-25), p.272-281, 1998 https://doi.org/10.1109/ISCA.1998.694787
  9. J.Gonzalez and A.Gonzalez, 'The Potential of Data Value Speculation to Boost ILP.' Proceedings of the International Conference on Supercomputing, 1998 https://doi.org/10.1145/277830.277840
  10. Sang-Jeong Lee and P.Yew. 'Decoupled Value Prediction on Trace Processors,' Proceedings of the 6th International Symposium on High Performance Computer Architecture (HPCA-6), 2000 https://doi.org/10.1109/HPCA.2000.824353
  11. Sang-Jeong Lee and P.Yew, 'On Some Implementation Issue for Value Prediction on Wide-Issue ILP Processors,' International Conference on Parallel Architecture and Compilation Techniques (PACT 2000), Oct. 2000 https://doi.org/10.1109/PACT.2000.888339
  12. Sang-Jcong Lee, and Pen-Chung Yew, 'On Table Bandwidth and Its Update Delav for Value Prediction on Wide-Issue ILP Processors,' IEEE Transaction on Computers, Vol.50 No.8, Aug. 2001 https://doi.org/10.1109/12.947012
  13. M.Lipasti, and J.Shen, 'Exceeding th Limit via Value Prediction,' Proceedings of the 29th International Symposium on Mlicroarchitecture(MICRO29), Dec. 1996
  14. M.Lipasti, Value Locality and Speculative Execution, Ph.D. thesis, Carnegie Mellon University, April 1997
  15. B. Rychlik, F.Faistl, D.Krug. A.Kurland, J.Jung, Miroslav, N.Velev, and Jshcn, 'Efficient and Accurate Value Prediction Using Dynamic Classification,' Technical Report of Microachitecture Research Team in Dept of Electrical and Computer Engineering, Carnegie mellon Univ.. 1992
  16. B.Rychlik, J.Faistl, B.Krug, and J.Shcn, 'Efficacy and Performance Impact of Value Prediction,' Parallel Architectures and Compilation Techniques, Paris, Oct. 1998 https://doi.org/10.1109/PACT.1998.727186
  17. T.Sato, 'Analyzing Overhead of Reissued Instructions on Data Speculative Processors,' Workshop on Performance Analysis and its impact on Design Held in Conjunction with ISCA-25, 1998
  18. Y.Sazcides. and J.Smith, 'The Predicatabili.y of Data Values.' Proceedings of the 30th International Symposium on Microarchitecture (MICRO-30l, Dec. 1997 https://doi.org/10.1109/MICRO.1997.645815
  19. K.Wang. M.Franklin, 'Highly Accurate data value Predictions using Hybrid Predictor,' Proceedings of the 30th International Symposium on Microarchitecture (MICRO-30), Dec. 1997 https://doi.org/10.1109/MICRO.1997.645819
  20. D.Burger and T.Austin, 'The Simplescalar Tool Sec, Version 2.0,' Technical Report CS-RT-971342, University of Wisconsin, Madison, June 1997
  21. T.Sherwood and B.Calder, 'Loop Termination Prediction,' Technical Report CS99-639 of University of California, San Diego, Dept. of Computer Science and Engineering, Dec. 1999
  22. J.Huang and D.Lilja, 'Exploiting Basic Block Value Locality with Basic Block Reuse,' Proceedings of the 5th International Symposium on High Performance Computer Architecture (HPCA-5), 1999 https://doi.org/10.1109/HPCA.1999.744342
  23. M.Johnson, Supersealar Microprocessor Design, Prentice Hall, 1991