Browse > Article
http://dx.doi.org/10.3745/KIPSTA.2009.16A.5.347

Early Start Branch Prediction to Resolve Prediction Delay  

Kwak, Jong-Wook (영남대학교 컴퓨터공학과)
Kim, Ju-Hwan (서울대학교 전기컴퓨터공학부)
Abstract
Precise branch prediction is a critical factor in the IPC Improvement of modern microprocessor architectures. In addition to the branch prediction accuracy, branch prediction delay have a profound impact on overall system performance as well. However, it tends to be overlooked when the architects design the branch predictor. To tolerate branch prediction delay, this paper proposes Early Start Prediction (ESP) technique. The proposed solution dynamically identifies the start instruction of basic block, called as Basic Block Start Address (BB_SA), and the solution uses BB_SA when predicting the branch direction, instead of branch instruction address itself. The performance of the proposed scheme can be further improved by combining short interval hiding technique between BB_SA and branch instruction. The simulation result shows that the proposed solution hides prediction latency, with providing same level of prediction accuracy compared to the conventional predictors. Furthermore, the combination with short interval hiding technique provides a substantial IPC improvement of up to 10.1%, and the IPC is actually same with ideal branch predictor, regardless of branch predictor configurations, such as clock frequency, delay model, and PHT size.
Keywords
Branch Prediction; Prediction Delay; Gshare Predictor; Instruction Fetch; Basic Block;
Citations & Related Records
연도 인용수 순위
  • Reference
1 G. H. Loh, "Revisiting the Performance Impact of Branch Predictor Latencies," In Proceedings of IEEE International Symposium on Performance Analysis of Systems and Software, pp.59-69, 2006.   DOI
2 S. S. Muchnick, "Advanced Compiler Design Implementation," Morgan Kaufman, 1997.
3 A. Seznec, S. Jourdan, P. Sainrat, P. Michaud, "Multiple-block ahead branch predictors," In Proceedings of the 7th ASPLOS, pp.116-127, 1996.   DOI
4 D. A. Patterson and J. L. Hennessy, "Computer architecture: a quantitative approach" 4th edition, Morgan Kaufman, 2007.
5 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.   DOI
6 O. J. Santana, A. Ramirez, M. Valero, "Latency Tolerant Branch Predictors," In Proceedings of Innovative Architecture for Future Generation High-Performance Processors and Systems, pp.30-39, 2003.   DOI
7 A. Falcon, O. Santana, A. Ramirez and M. Valero, "Tolerating Branch Predictor Latency on SMT," ISHPC2003, LNCS 2858, pp.86-98, 2003.
8 D. A. Jimenez, "Reconsidering Complex Branch Predictor",In Proceedings of the 9th International Symposium on High Performance Computer Architecture, pp.43-52, 2003.   DOI
9 A. Seznec and A. Fraboulet, "Effective ahead pipelining of instruction block address generation," In Proceedings of the 30th ISCA, 2003.   DOI
10 D. A. Jimenez, S. W. Keckler, and C. Lin, "The impact of delay on the design of branch predictors," In Proc. 33rd Int'l Symp. on Microarchitecture, pp.67-76, 2000.   DOI
11 SPEC CPU2000 Benchmarks, http://specbench.org
12 SimpleScalar LLC to serve and project, http://www. simplescalar.com/
13 S. McFarling, "Combining branch predictors. Tech. Rep. TN-36m," Digital Western Research Lab., June, 1993.
14 J. W. Kwak and C. S. Jhon., "High Performance Embedded Branch Predictor by Combining Branch Direction History and Global Branch History," IET Computer & Digital Techniques, Vol.2, Issue 2, pp.142-154, 2008.   DOI   ScienceOn
15 R. Thomas, M. Franklin, C. Wilkerson and J. Stark, "Improving Branch Prediction By Dynamic Dataflow-based Identification of Correlated Branches From a Large Global History," In Proc. of the International Symposium on Computer Architecture, pp.314-323, 2003.
16 E. Rotenberg, S. Bennett, J. Smith, "Trace Cache: a low latency approach to high bandwidth instruction fetching," 29th IEEE MICRO, 1996.