Sequential and Selective Recovery Mechanism for Value Misprediction

값 예측 오류를 위한 순차적이고 선택적인 복구 방식

  • 이상정 (순천향대학교 정보기술공학부) ;
  • 전병찬 (청운대학교 컴퓨터과학과)
  • Published : 2004.02.01

Abstract

Value prediction is a technique to obtain performance gains by supplying earlier source values of its data dependent instructions using predicted value of a instruction. To fully exploit the potential of value speculation, however, the efficient recovery mechanism is necessary in case of value misprediction. In this paper, we propose a sequential and selective recovery mechanism for value misprediction. It searches data dependency chain of the mispredicted instruction sequentially without pipeline stalls and adverse impact on clock cycle time. In our scheme, only the dependent instructions on the predicted instruction is selectively squashed and reissued in case of value misprediction.

고성능 슈퍼스칼라 프로세서에서 값 예측(value prediction) 방식은 명령의 결과 값을 미리 예측하고, 이 후 데이타 종속 관계가 있는 명령들에게 값을 조기에 공급함으로써 이들 명령들을 모험적으로 실행하여 성능을 향상시키는 방식이다. 값 예측으로 성능을 향상시키기 위해서는 예측 실패 시에 효율적으로 복구하는 과정이 필수적이다. 본 논문에서는 값 예측 실패 시에 잘못 예측된 값을 사용하여 모험적으로 수행된 명령들만을 순차적으로 취소하고 복구한 후에 재이슈하는 값 예측 실패 복구 메커니즘(value misprediction recovery mechanism)을 제안한다. 제안된 복구 방식은 한번에 모든 종속명령들을 검색하지 않음으로써 파이프라인을 정지시키지 않는다. 즉, 파이프라인이 진행되는 순서에 따라 순차적으로 값 예측이 틀린 종속명령만을 선택적으로 취소하고 재이슈하여 불필요한 취소와 재이슈를 줄임으로써 값 예측 실패 시에 손실을 줄인다.

Keywords

References

  1. S.McFarling, 'Combining Branch Predictors,' Technical Report TN-36, Digital Western Research Laboratory, June 1993
  2. T.Yeh and Y.Patt, 'Two-level Adaptive Branch Prediction,' Proceedings of the 24th International Symposium Microarchitecture (MICRO-24), Nov. 1991
  3. B.Calder, G.Reinman and D.Tullsen, 'Selective Value Prediction,' Proceedings of the 26th International Symposium on Computer Architecture (ISCA-26), May 1999 https://doi.org/10.1145/300979.300985
  4. Sang-Jeong Lee and Pen-Chung Yew, 'On Table Bandwidth and Its Update Delay for Value Prediction on Wide-Issue ILP Processors,' IEEE Transaction on Computers, Vol.50 No.8, pp.847-852, Aug. 2001 https://doi.org/10.1109/12.947012
  5. Sang-Jeong Lee and Pen-Chung Yew, 'On Augmenting Trace Cache for High-Bandwidth Value Prediction,' IEEE Transaction on Computers, Vol.51 No.9, pp.1074-1088, Sept. 2002 https://doi.org/10.1109/TC.2002.1032626
  6. M.Lipasti and J.Shen, 'Exceeding the Limit via Value Prediction,' Proceedings of the 29th International Symposium on Microarchitecture (MICRO-29), Dec. 1996
  7. M.Lipasti, Value Locality and Speculative Execution, Ph.D. Thesis in Electrical and Computer Engineering, Carnegie Mellon University, 1997
  8. B.Rychlik, J.Faistl, B.Krug, and J.Shen, 'Efficacy and Performance Impact of Value Prediction,' Parallel Architectures and Compilation Techniques (PACT98), Paris, Oct. 1998 https://doi.org/10.1109/PACT.1998.727186
  9. T.Sato, 'Evaluating the Impact of Reissued Instructions on Data Speculative Processor Performance,' Microprocessors and Microsystems, Vol. 25, Issue 9-10, pp.469-482, Elsevier, Jan. 2002
  10. Y.Sazeides and J.Smith, 'The Predictability of Data Values,' Proceedings of the 30th International Symposium on Microarchitecture (MICRO-30), Dec. 1997 https://doi.org/10.1109/MICRO.1997.645815
  11. K.Wang and 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
  12. H.Zhou, C.Fu, E.Rotenberg, and T.Conte, A Study of Value Speculative Execution and Misspeculation Recovery in Superscalar Microprocessors, Technical Report, ECE Department, N.C. State University, Jan. 2001
  13. D.Burger and T.Austin, The SimpleScalar Tool Set, Version 2.0, Technical Report CS-TR-97-1342, University of Wisconsin, Madison, June 1997
  14. A.KleinOsowski, J.Flynn, N.Meares, and D.Lilja, 'Adapting the SPEC 2000 Benchmark Suite for Simulation-Based Computer Architecture Research,' Workshop on Workload Characterization held in conjunction with International Conference on Computer Design, Sept., 2000