DOI QR코드

DOI QR Code

분기 정보의 추측적 사용과 효율적 복구 기법

Branch Prediction with Speculative History and Its Effective Recovery Method

  • 곽종욱 (영남대학교 전자정보공학부)
  • 발행 : 2008.08.29

초록

분기 명령어에 대한 예측 정확도는 시스템의 전체 성능 향상에 중대한 영향을 미친다. 분기 정보의 추측적 사용은 미완료 분기에 대한 히스토리 정보를 추측적으로 사용하여 분기 예측을 수행한다. 이러한 방식은 분기 명령어의 가장 최근 기록을 일관되게 사용할 수 있도록 도와주기 때문에 분기 예측의 정확도 향상에 크게 기여한다. 하지만 미완료 분기 히스토리는 올바르지 못한 정보일 수 있으며, 이런 경우 적절한 복구기법이 필요하다. 이를 위해 본 논문에서는 분기 정보의 추측적 사용에 대한 성능 향상의 정도를 살피고, 분기 정보의 추측적 사용에 대한 필요성을 제시한다. 아울러, 분기 정보의 추측적 사용으로 인해 요구되는 적절한 복구 기법을 제안한다. 제안된 기법은 전역 분기 히스토리를 사용하는 분기 예측기와 지역 분기 히스토리를 사용하는 분기 예측기에 각각 적용 될 수 있는 방식들이다. 모의실험을 통해 본 논문에서 제안된 방식의 성능을 분석한 결과, 본 논문에서 제안된 기법이 최대 5.64%의 성능향상을 제공하였다. 아울러 프로그램 수행의 정확성을 해치지 않으면서 기존의 연구와 비교하여 90% 이상의 하드웨어 요구량의 감소를 가져왔다.

Branch prediction accuracy is critical for system performance in modern microprocessor architectures. The use of speculative update branch history provides substantial accuracy improvement in branch prediction. However, speculative update branch history is the information about uncommitted branch instruction and thus it may hurts program correctness, in case of miss-speculative execution. Therefore, speculative update branch history requires suitable recovery mechanisms to provide program correctness as well as performance improvement. In this paper, we propose recovery logics for speculative update branch history. The proposed solutions are recovery logics for both global history and local history. In simulation results, our solution provides performance improvement up to 5.64%. In addition, it guarantees the program correctness and almost 90% of additional hardware overhead is reduced, compared to previous works.

키워드

참고문헌

  1. R. Tomasulo, “An efficient algorithm for exploiting multiple arithmetic units,” IBM J. Research and Development 11:1(January), 25-33, 1967 https://doi.org/10.1147/rd.111.0025
  2. A. R. Talcott,W. Yamamoto,M. J. Serrano, R. C.Wood, and M. Nemirovsky, “The impact of unresolved branches on branch prediction scheme performance,” in Proceedings of the 21st ISCA, pp.12-21, Apr., 1994
  3. E. Hao, P.-Y. Chang, and Y. Patt, “The effect of speculatively updating branch history on branch prediction accuracy, revisited,” in Proceedings of the 27th Annual International Symposium onMicroarchitecture, pp.228-232, Nov., 1994
  4. E. Sprangle and D. Carmean, “Increasing processor performance by implementing deeper pipelines,” In Proc. 29th Int'l Symp. on Computer Architecture, pp.25-34, 2002
  5. 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
  6. T.-Y. Yeh and Y. N. Patt, “Alternative implementations of two-level adaptive branch prediction,” In Proc. of the 19th ISCA, pp.124-134, May, 1992
  7. E. Hao, P.-Y. Chang, and Y. Patt, “The effect of speculatively updating branch history on branch prediction accuracy, revisited,” in Proceedings of the 27th MICRO, pp.228-232, Nov., 1994
  8. A. R. Talcott, W. Yamamoto, M. J. Serrano, R. C.Wood, and M. Nemirovsky, “The impact of unresolved branches on branch prediction scheme performance,” in Proceedings of the 21st Annual International Symposium on Computer Architecture, pp.12-21, Apr., 1994
  9. K. Skadron, M. Martonosi, and D. Clark. “Speculative updates of local and global branch history: A quantitative analysis,” JILP, Vol.2, Jan., 2000
  10. A. Seznec, S. Felix, V. Krishnan, and Y. Sazeid'es. “Design tradeoffs for the ev8 branch predictor,” In Proc. of the 29th ISCA, pp.295-306, May, 2002
  11. M. Evers, S. J. Patel, R. S. Chapell, and Y. N. Patt, “An analysis of correlation and predictability: What makes two-level branch predictors work,” In Proceedings of the 25th Annual Intl. Symposium on Computer Architecture, pages 52-61, June, 1998
  12. S. Sechrest, S., C.-C.Lee, T. Mudge, “Correlation and Aliasing in Dynamic Branch Predictors,” in Proceedings of the 23rd ISCA, 22-32, 1996
  13. A. R. Talcott, M. Nemirovsky, and R. C. Wood, “The Influence of Branch Prediction Table Interference on Branch Prediction Scheme Performance,” International Conference on Parallel Architectures and Compilation Techniques, 1995
  14. Chih-Chieh Lee, I. K. Chen, and T. Mudge, “The Bi-Mode Branch Predictor,” International Symposium on Microarchitecture, 1997
  15. Eric Sprangle, R. Chappell, M. Alsup, and Y. Patt, “The Agree Predictor: A Mechanism for Reducing Negative Branch History Interference,” Intl. Symposium on Computer Architecture, 1997
  16. McFarling, S., “Combining branch predictors,” Tech. Rep. TN-36m, Digital Western Research Lab., June, 1993
  17. S. Kim and G. Tyson, “Analyzing the working set characteristics of branch execution,” in Proceedings of the 31st Annual ACM/IEEE International Symposium on Microarchitecture, pp.49-58, Dec., 1998
  18. R. E. Kessler, “The Alpha 21264 Microprocessor,” IEEE Micro, Volume 19, Issue 2, pp.24-36, 1999 https://doi.org/10.1109/40.755465
  19. E. J. McLellan, D. A. Webb, “The Alpha 21264 Microprocessor Architecture,” In Proceedings of the International Conference on Computer Design, pp.90-95, IEEE, 1998
  20. S. Jourdan, J. Stark, T.-H. Hsing, and Y. N. Patt, “Recovery requirements of branch prediction storage structures in the presence of mispredicted-path execution,” International Journal of Parallel Programming, Vol.25, pp.363-383, Oct., 1997 https://doi.org/10.1007/BF02699883
  21. 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 Dept., 1997
  22. SPEC CPU2000 Benchmarks, http://www.specbench.org