Skip to main content
Log in

An efficient branch predictor for improved accuracy of instruction level parallelism

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

Abstract

The need for modern processors is based on fast and precise branch predictors to improve the execution of instructions in the pipeline. In a parallel processor, the pipeline cannot execute the conditional instructions with the next clock cycle, leading to a pipeline stall. To address this issue, this paper suggests a variety of branch prediction techniques for improving the execution speed of conditional instructions. Firstly, a simple branch prediction and a dynamic branch prediction are applied to the trace files using saturating counters. Among these two, dynamic branch prediction provides better results by enhancing the accuracy rate of 2.01% than the static branch prediction. Further, the perceptron branch predictor predicts the implementation by using a table of perceptron and train function. This prediction scheme reduces the difficulties in dynamic branch predictor schemes such as reduces the complexity in history length table and improves the accuracy rate by 5.36%. For accuracy, a novel model based on global perceptron branch predictor is developed, which uses both global and per branch information. Trace-driven simulations have been performed by varying the range of hardware budget, traces file size, and the length of history register to increase the accuracy rate of each branch prediction technique. The obtained results suggest that the proposed global perceptron branch predictor provides an increased accuracy rate of 10.47% at 4 kb hardware budget and 8.06% at 4-bit history length than the perceptron branch predictor.

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

Similar content being viewed by others

References

  1. Abudalfa S et al (2019) Comparative study on behavior-based dynamic branch prediction using machine learning. Int J Comput Digit Syst 8(1):33–41. https://doi.org/10.12785/ijcds/080104

    Article  Google Scholar 

  2. Chang PY, Hao E, Yeh TY, Patt Y (1994) Branch classification: a new mechanism for improving branch predictor performance. Prof Eng 7(21):22–31. https://doi.org/10.1109/MICRO.1994.717404

    Article  Google Scholar 

  3. Changela A (2016) Hazard detection and data forwarding scheme for 5-stage pipeline structure of RISC processor. Int J Innov Res Comput Commun Eng 4(6):11693–21169. https://doi.org/10.15680/IJIRCCE.2016

    Article  Google Scholar 

  4. Deibel N, Sikorski K (2003) Exploring perceptrons in branch prediction. pp. 1–11. Retrieved from https://scholar.googleusercontent.com/scholar

  5. Goyal S, Singh J (2017) Two-level alloyed branch predictor based on genetic algorithm for deep pipelining processors. Int J Mod Educ Comput Sci 9(5):27–33

    Article  Google Scholar 

  6. Habibizad Navin A, Lahouti E, Lotfi Anhar M, Mirnia MK (2010) A new method to prevent control hazard in pipeline processor by using an auxiliary processing unit. 2010 2nd International Conference on Advanced Computer Control, pp 596–599. https://doi.org/https://doi.org/10.1109/ICACC.2010.5487130

  7. Heil TH, Smith Z, Smith, JE (1999) Improving branch predictors by correlating on data values. Proceedings of the 32nd Annual ACM/IEEE International Symposium on Microarchitecture, pp 28–37

  8. Ho CY, Chong KF, Yau CH, Fong ASS (2007) A study of dynamic branch predictors: counter versus perceptron. Fourth International Conference on Information Technology (ITNG’07), pp 528–536

  9. Kalla B, Santhi N, Badawy AHA, Chennupati G, Eidenbenz S (2017) A probabilistic monte carlo framework for branch prediction. 2017 IEEE Int Conf Clust Comput (CLUSTER) 3:651–652. https://doi.org/10.1109/CLUSTER.2017.29

    Article  Google Scholar 

  10. Kulkarni KN, Mekala VR (2016) A review of branch prediction schemes and a study of branch predictors in modern microprocessors.

  11. Loh GH, Henry DS (2002) Predicting conditional branches with fusion-based hybrid predictors. Parallel Architectures and Compilation Techniques - Conference Proceedings, PACT, Jan 2002, pp 165–176. https://doi.org/https://doi.org/10.1109/PACT.2002.1106015

  12. Mao Y, Zhou H, Gui X, Shen J (2020) Exploring convolution neural network for branch prediction. IEEE Access 8:1–1. https://doi.org/10.1109/access.2020.3017196

    Article  Google Scholar 

  13. Mittal, S. (2018). A survey of techniques for dynamic branch prediction. pp 1–37. https://doi.org/https://doi.org/10.1145/2893356

  14. Pandey A (2016) Study of data hazard and control hazard resolution techniques in a simulated five stage pipelined RISC processor. Int Conf Invent Comput Technol (ICICT) 2:1–4

    Google Scholar 

  15. Panwar N, Kaur M, Singh G (2015) Performance analysis of branch prediction unit for pipelined processors. Int J Comput Appl 128(16):6–12

    Google Scholar 

  16. Patel R, Kumar S (2018) A study of various existing techniques to deal with pipeline hazards. Res J Eng Technol 9(4):304–306. https://doi.org/10.5958/2321-581X.2018.00041.7

    Article  MathSciNet  Google Scholar 

  17. Porter L, Tullsen DM (2009) Creating artificial global history to improve branch prediction accuracy. Proceedings of the 23rd International Conference on Supercomputing. pp 266–275. https://doi.org/https://doi.org/10.1145/1542275.1542315

  18. Rao S, Sudhakar PK (2018) An analysis to improve branch prediction accuracy by using neural branch prediction. Int J Mod Trends Sci Technol 3(5):1–7

    Google Scholar 

  19. Seznec A, Jourdan S, Sainrat P, Michaud P, Seznec A, Jourdan S, Sainrat P, Michaud P, Branch MA (2006) Multiple-block ahead branch predictors

  20. Shah PZ, Prabhu SU (2014) Hybrid learning-based branch predictor. Int J Eng Res Technol 3(8):1135–1139

    Google Scholar 

  21. Skadron K, Martonosi M, Clark DW (2000) A taxonomy of branch mispredictions, and alloyed prediction as a robust solution to wrong-history mispredictions. Proceedings International Conference on Parallel Architectures and Compilation Techniques. pp 1–8

  22. Starke RA, Carminati A, de Oliveira RS (2017) Evaluation of a low overhead predication system for a deterministic VLIW architecture targeting real-time applications. Microprocess Microsyst 49:1–8. https://doi.org/10.1016/j.micpro.2016.11.017

    Article  Google Scholar 

  23. Su X, Wu H, Yang Q (2016) An efficient wcet-aware hybrid global branch prediction approach. Proceedings-2016 IEEE 22nd International Conference on Embedded and Real-Time Computing Systems and Applications, RTCSA 2016. pp 195–201. https://doi.org/https://doi.org/10.1109/RTCSA.2016.46

  24. Sweety N, Chaudhary P (2021) Towards the improving branch instructions identification in high-performance processors issues, challenges and techniques. Recent advances in computer science and communications. https://www.eurekaselect.com/node/191298/article/towards-the-improving-branch-instructions-identification-in-high-performance-processors-issues-challenges-and-techniques

  25. Sweety N, Chaudhary P (2018) Branch prediction techniques used in pipeline processors: a review. Int J Pure Appl Math 119(15):2843–2851

    Google Scholar 

  26. Tripathy AK, Mishra P (2011) A novel approach for branch prediction using SVM. Int J Adv Res Comput Sci 2(1)

  27. Zhang L, Wu N, Ge F, Zhou F, Yahya MR (2020) A dynamic branch predictor based on parallel structure of SRNN. IEEE Access 8:86230–86237. https://doi.org/10.1109/ACCESS.2020.2992643

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sweety.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Sweety, Chaudhary, P. An efficient branch predictor for improved accuracy of instruction level parallelism. J Supercomput 77, 12098–12120 (2021). https://doi.org/10.1007/s11227-021-03778-5

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-021-03778-5

Keywords

Navigation