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

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.

[1]  Simon Haykin,et al.  Neural Networks: A Comprehensive Foundation , 1998 .

[2]  Kevin Skadron,et al.  Merging path and gshare indexing in perceptron branch prediction , 2005, TACO.

[3]  Doreen Meier,et al.  Fundamentals Of Neural Networks Architectures Algorithms And Applications , 2016 .

[4]  Anil Kumar Karna,et al.  Cross Comparison on C Compilers' Reliability Impact on UNIX Based Fedora OS , 2010, 2010 10th IEEE International Conference on Computer and Information Technology.

[5]  Lei Xiong,et al.  A Configurable Approach to Tolerate Soft Errors via Partial Software Protection , 2011, 2011 IEEE Ninth International Symposium on Parallel and Distributed Processing with Applications Workshops.

[6]  J. Skilling,et al.  Algorithms and Applications , 1985 .

[7]  Yale N. Patt,et al.  A comparison of dynamic branch predictors that use two levels of branch history , 1993, ISCA '93.

[8]  Dana S. Henry,et al.  Predicting conditional branches with fusion-based hybrid predictors , 2002, Proceedings.International Conference on Parallel Architectures and Compilation Techniques.

[9]  Chris Wilkerson,et al.  Hierarchical scheduling windows , 2002, 35th Annual IEEE/ACM International Symposium on Microarchitecture, 2002. (MICRO-35). Proceedings..

[10]  Chih-Chieh Lee,et al.  Correlation and Aliasing in Dynamic Branch Predictors , 1996, 23rd Annual International Symposium on Computer Architecture (ISCA'96).

[11]  D. K. Lobiyal,et al.  A novel energy-aware cluster head selection based on particle swarm optimization for wireless sensor networks , 2012, Human-centric Computing and Information Sciences.

[12]  Trevor N. Mudge,et al.  Correlation and Aliasing in Dynamic Branch Predictors , 1996, ISCA.

[13]  John L. Henning SPEC CPU2000: Measuring CPU Performance in the New Millennium , 2000, Computer.

[14]  Gianluca Palermo,et al.  The Combined Perceptron Branch Predictor , 2005, Euro-Par.

[15]  Yale N. Patt,et al.  A two-level approach to making class predictions , 2003, 36th Annual Hawaii International Conference on System Sciences, 2003. Proceedings of the.

[16]  Daniel A. Jiménez,et al.  Fast Path-Based Neural Branch Prediction , 2003, MICRO.

[17]  Elijah Blessing Rajsingh,et al.  A novel fault tolerant service selection framework for pervasive computing , 2012, Human-centric Computing and Information Sciences.

[18]  Daniel A. Jiménez,et al.  Dynamic branch prediction with perceptrons , 2001, Proceedings HPCA Seventh International Symposium on High-Performance Computer Architecture.

[19]  Jean Andrian,et al.  Energy Efficient Architecture Using Hardware Acceleration for Software Defined Radio Components , 2012, J. Inf. Process. Syst..

[20]  Hai Jin,et al.  Metis: a profiling toolkit based on the virtualization of hardware performance counters , 2011, Human-centric Computing and Information Sciences.

[21]  Daniel A. Jiménez,et al.  Mixed-Signal Approximate Computation: A Neural Predictor Case Study , 2009, IEEE Micro.

[22]  James E. Smith,et al.  A study of branch prediction strategies , 1981, ISCA '98.

[23]  Haitham Akkary,et al.  Perceptron-Based Branch Confidence Estimation , 2004, 10th International Symposium on High Performance Computer Architecture (HPCA'04).

[24]  Todd M. Austin,et al.  The SimpleScalar tool set, version 2.0 , 1997, CARN.

[25]  Kyunghee Choi,et al.  A Dynamic Zigbee Protocol for Reducing Power Consumption , 2013, J. Inf. Process. Syst..

[26]  Ami Marowka TBBench: A Micro-Benchmark Suite for Intel Threading Building Blocks , 2012, J. Inf. Process. Syst..