Functional Link Artificial Neural Network (FLANN) Based Design of a Conditional Branch Predictor

  • Abhaya Kumar SamalEmail author
  • Pradeep Kumar Mallick
  • Jitendra Pramanik
  • Subhendu Kumar Pani
  • Rajasekhar Jelli
Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 768)


Conditional branch predictor (CBP) is an essential component in the design of any modern deeply pipelined superscalar microprocessor architecture. In the recent past, many researchers have proposed varieties schemes for the design of the CBPs that claim to offer desired levels of accuracy and speed needed to meet the demand for the architectural design of multicore processors. Among various schemes in practice to realize the CBPs, the ones based on neural computing—i.e., artificial neural network (ANN) has been found to outperform other CBPs in terms of accuracy. Functional link artificial neural network (FLANN) is a single layer ANN with low computational complexity which has been used in versatile fields of application, such as system identification, pattern recognition, prediction and classification, etc. In all these areas of application, FALNN has been tested and found to provide superior performance compared to their multilayer perceptron (MLP) counterpart. This paper proposes design of a novel FLANN-based dynamic branch predictor and compares the performance against a perceptron-based CBP. The proposed FALNN-based CBP has been implemented in C++. The performance of the proposed CBP has been evaluated using standard benchmark trace data files and is found to have performance comparable to the existing perceptron-based predictions in terms of speed and accuracy.


Conditional branch predictor (CBP) Functional link artificial neural network (FLANN) Multilayer perceptron (MLP) Multicore technology 



The authors would like to thank the anonymous reviewers for their valuable comments and suggestions.


  1. 1.
    Burguiere, C., Rochange, C.: On the complexity of modeling dynamic branch predictors when computing worst-case execution times. Technical report, IRIT—CNRS (Institute de Recherche en Informatique de Toulouse â Toulouse Institute of Computer Science Research; Centre National de la Recherche Scientific que â The National Center for Scientific Research), University of Toulouse, Jean Jaures, France (2007)Google Scholar
  2. 2.
    Jimenez, D.A., Lin, C.: Dynamic branch prediction with perceptrons. In: Proceedings of the 7th International Symposium on High-Performance Computer Architecture (HPCA-2010), pp. 197–206, Busan, 19–24 January 2001Google Scholar
  3. 3.
    Yeh, T.-Y., Patt, Y.N.: A comparison of dynamic branch predictors that use two levels of branch history. In: Proceedings of the 20th Annual International Symposium on Computer Architecture, pp. 257–266, San Diego, CA, USA, 16–19 May 1993. IEEEGoogle Scholar
  4. 4.
    Daniel A. Jimenez and Clavin Lin. Neural method for dynamic branch prediction. ACM Transactions on Computer Systems, 20(4):369 397, November 2002Google Scholar
  5. 5.
    Jimenez, D.A.: An optimized scaled neural branch predictor. In: Proceedings of the 29th IEEE International Conference on Computer Design (ICCD), pp. 113–118, Amherst, Massachusetts, 9–12 October 2011Google Scholar
  6. 6.
    Milenkovic, M., Milenkovic, A., Kulick, J.: Microbenchmarks for determining branch predictor organization. Softw. Prac. Exper. 34(5), 465–487 (2004)Google Scholar
  7. 7.
    McFarling, S.: Combining branch predictors. Technical Note TN-36, Digital Equipment Corporation (DEC), Western Research Laboratory (WRL) 250 University Avenue Palo Alto, California 94301 USA, June 1993Google Scholar
  8. 8.
    Jimenez, D.: Idealized piecewise linear branch prediction. J. Instr. Lev. Parallelism 7, 1–11 (2005)Google Scholar
  9. 9.
    C++ code idea. Available Online as Accessed on 24 February 2016
  10. 10.
    Branch prediction competition. Available Online as Accessed on 24 February 2016
  11. 11.
    Infrastructure for branch prediction competition. Available Online as Accessed on 24 February 2016
  12. 12.
    Patra, J.C., Pal, R.N., Chatterji, B.N., Panda, G.: Identification of nonlinear dynamic systems using functional link artificial neural networks. IEEE Trans. Syst. Man Cybern. Part B: Cybern. 29(2), 254–262 (1999)Google Scholar
  13. 13.
    Patra, J.C., Panda, G., Baliarsingh, R.: Artificial neural network-based nonlinearity estimation of pressure sensors. IEEE Trans. Instrum. Meas. 43(6), 874–881 (1994)Google Scholar
  14. 14.
    MultiMedia LLC. MS Windows NT kernel description. Available Online as Accessed on 14 February 2016
  15. 15.
    Falk Wilamowski. Branch Prediction simulation with archc. Accessed on 5 February 2016
  16. 16.
    Jimenez, D.A.: Fast path-based neural branch prediction. In: Proceedings of the 36th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO-36, 2003), pp. 243–252, San Diego, CA, USA, 3–5 December 2003. IEEEGoogle Scholar
  17. 17.
    Yeh, T.-Y., Patt, Y.N.: Two-level adaptive training branch prediction. In: Proceedings of the 24th Annual International Symposium on Microarchitecture, Two-Level Adaptive Training Branch Prediction, pp. 51–61, 11–13 November 1991. ACM New York, NY, USAGoogle Scholar
  18. 18.
    Yeh, T.-Y., Patt, Y.N.: Alternative implementations of two level adaptive branch prediction. In: Proceedings of the 19th Annual International Symposium on Computer Architecture, pp. 124–134, Gold Coast, Australia, 19–21 May 1992. IEEE Computer Society, WashingtonGoogle Scholar

Copyright information

© Springer Nature Singapore Pte Ltd. 2019

Authors and Affiliations

  • Abhaya Kumar Samal
    • 1
    Email author
  • Pradeep Kumar Mallick
    • 2
  • Jitendra Pramanik
    • 3
  • Subhendu Kumar Pani
    • 4
  • Rajasekhar Jelli
    • 2
  1. 1.Department of Computer Science and EngineeringTrident Academy of TechnologyBhubaneswarIndia
  2. 2.Department of Computer Science and EngineeringVignana Bharathi Institute of Technology (VBIT)HyderabadIndia
  3. 3.Biju Patnaik University of TechnologyRourkelaIndia
  4. 4.Department of Computer Science and EngineeringOrissa Engineering CollegeBhubaneswarIndia

Personalised recommendations