Skip to main content
Log in

NTB branch predictor: dynamic branch predictor for high-performance embedded processors

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

Branch prediction accuracy becomes more crucial in high-performance embedded processors. The importance of branch prediction in embedded processors continues to grow in the future. Many branch predictors have been proposed to alleviate the performance penalty due to branch mispredictions. However, recent embedded processors still have problems in increasing the branch prediction accuracy. This paper proposes number of taken branch instructions (NTB) branch predictor, a new dynamic branch predictor for high-performance embedded processors. The NTB branch predictor utilizes two-bit saturating counters in the pattern history table based on the information about the number of taken-branches in the global branch history. The proposed NTB branch predictor achieves improved accuracy by making use of longer branch history with no hardware overhead, because hardware resources for the proposed NTB branch predictor are independent of the history length. By contrast, existing dynamic branch prediction schemes require more hardware resources as the history length increases. According to our experiments with a 4 KB branch predictor which suits embedded processors, the NTB branch predictor improves the prediction accuracy by 7.11 and 43.41 % on average over the perceptron predictor and the two-level adaptive branch predictor, respectively.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

References

  1. Smith JE (1981) A study of branch prediction strategies. In: Proceedings of the 8th annual symposium on computer architecture (ISCA), pp 135–148

  2. Yeh T-Y, Patt YN (1991) Two-level adaptive training branch prediction. In: Proceedings of the 24th annual ACM/IEEE international symposium on microarchitecture (MICRO), pp 51–61

  3. Yeh TY, Patt YN (1993) A comparison of dynamic branch predictors that use two-levels of branch history. In: Proceedings of the 20th annual symposium on computer architecture (ISCA), pp 257–266

  4. Evers M, Patel SJ, Chappell RS, Patt YN (1998) An analysis of correlation and predictability: what makes two-level branch predictor work. In: Proceedings of the 25th annual international symposium on computer architecture (ISCA), pp 52–61

  5. Jimenez DA, Lin C (2001) Dynamic branch prediction with perceptrons. In: Proceedings of the 7th international symposium on high-performance computer architecture (HPCA)

  6. Jimenez DA (2003) Fast path-based neural branch prediction. In: Proceedings of the 36th annual IEEE/ACM international symposium on microarchitecture. IEEE Computer Society

  7. Scott McFarling (1993) Combining branch predictor. In: WRL technical note TN-36

  8. Akkary H, Srinivasan ST, Koltur R, Patil Y, Refaai W (2004) Perceptron-based branch confidence estimation. In: Proceedings of the 10th international symposium on high performance computer architecture (HPCA), pp 265

  9. Loh GH, Henry DS (2002) Predicting conditional branches with fusion-based hybrid predictors. In: Proceedings of the 2002 international conference on parallel architectures and compilation techniques (PACT), pp 165

  10. St. Amant R, Jim’enez DA, Burger D (2009) Mixed-signal approximate computation: a neural predictor case study. In: IEEE micro top picks from computer architecture conferences, pp 104–115

  11. Tarjan D, Skadron K (2005) Merging path and Gshare indexing in perceptron branch prediction. In: ACM transactions on architecture and code optimization (TACO), vol 2, no. 3

  12. Monchiero M, Palermo G (2005) The combined perceptron branch predictor. In: Proceedings of the 11th international Euro-Par conference on parallel processing, pp 487–496

  13. Brekelbaum E, Rupley J, Wilkerson C, Black B (2002) Hierarchical scheduling windows. In: Proceedings of the 35th annual ACM/IEEE international symposium on microarchitecture (MICRO), pp 27–36

  14. Sechrest S, Lee CC, Mudge T (1996) Correlation and aliasing in dynamic branch predictor. In: Proceedings of the 23rd annual international symposium on computer architecture (ISCA), pp 22–32

  15. Haykin S (1999) Neural networks: a comprehensive foundation, 2nd edn. Prentice Hall, Englewood Cliffs

  16. Fausett L (1994) Fundamentals of neural networks: architectures. algorithms and applications. Prentice Hall, Englewood Cliffs

  17. Silas S, Ezra K, Blessing Rajsingh E (2012) A novel fault tolerant service selection framework for pervasive computing. Hum Centric Comput Inf Sci (HCIS)

  18. Jeong HY (2012) The remote management of operational information for manufacture systems. J Converg (JoC) 3(2):45–50

  19. Kim YH, Chang HB (2012) IT convergence index and measurement design in the manufacturing industry. J Converg (JoC) 3(3):47–50

  20. Wang L, Zeng Q-X (2009) BBQ—a simple and effective approach to backward branch predictor for embedded processors. J Comput Taiwan 20(4)

  21. Liu C, Granados O, Duarte R, Andrian J (2012) Energy efficient architecture using hardware acceleration for software defined ratio components. J Inf Process Syst (JIPS) 8(1):133–144

  22. Kwon DK et al (2013) A dynamic Zigbee protocol for reducing power consumption. J Inf Process Syst (JIPS) 8(1):41–52

  23. Gao J, Xiao Y (2012) Design for accountability in multi-core networks. J Converg (JoC) 3(3):9–16

  24. Singh B, Lobiyal D (2012) A novel energy-aware cluster head selection based on particle swarm optimization for wireless sensor. Hum Centric Comput Inf Sci (HCIS) 2:13

  25. Burger D, Austin TM (1997) The simplescalar tool set, version 3.0. SIGARCH Comput Archit News

  26. SPEC Standard Performance Evaluation Corporation. http://www.spec.org. Accessed 30 July 2013

  27. Xie et al (2012) Metis: a profiling toolkit based on the virtualization of hardware performance counters. Hum Centric Comput Inf Sci (HCIS) 2:8

  28. Marowka A (2012) TBBench: a micro-benchmark suite for intel threading building blocks. J Inf Process Syst (JIPS) 8(2):331–346

  29. Karna AK, Zou H (2010) Cross comparison on C compilers reliability impact. J Converg (JoC) 1(1):65–74

  30. Xiong L, Tan Q (2011) A configurable approach to toleration of soft errors via partial software protection. J Converg (JoC) 2(1):31–38

  31. Henning JL (2000) SPEC CPU2000: measuring CPU performance in the New Millennium, Computer Practices. IEEE Comput Magaz 33(7):28–35

Download references

Acknowledgments

This work was supported by the National Research Foundation of Korea Grant funded by the Korean Government (NRF-2012R1A1B4003492).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Cheol Hong Kim.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Do, C.T., Choi, H.J., Son, D.O. et al. NTB branch predictor: dynamic branch predictor for high-performance embedded processors. J Supercomput 72, 1679–1693 (2016). https://doi.org/10.1007/s11227-014-1280-0

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-014-1280-0

Keywords

Navigation