Send Orders for Reprints to reprints@benthamscience.net Recent Advances in Computer Science and Communications, XXXX, XX, 1-7 1 RESEARCH ARTICLE 2666-2558/XX $65.00+.00 © XXXX Bentham Science Publishers A Hybrid Branch Prediction Approach For High-Performance Processors Sweety Nain 1,* and Prachi Chaudhary 2 1 Department of Electronics and Communication, Research Scholar, D.C.R.U.S.T, Sonipat, India; 2 Department of Electronics and Communication, Assistant Professor, D.C.R.U.S.T, Sonipat, India Abstract: Background: In a parallel processor, the pipeline cannot fetch the conditional instructions with the next clock cycle, leading to a pipeline stall. Therefore, conditional instructions create a problem in the pipeline because the proper path can only be known after the branch execution. To accurately predict branches, a significant predictor is proposed for the prediction of the conditional branch instruction. Method: In this paper, a single branch prediction and a correlation branch prediction scheme are applied to the different trace files by using the concept of saturating counters. Further, a hybrid branch prediction scheme is proposed, which uses both global and local branch information, providing more accuracy than the single and correlation branch prediction schemes. Results: Firstly, a single branch prediction and correlation branch prediction technique are applied to the trace files using saturating counters. By comparison, it can be observed that a correlation branch prediction technique provides better results by enhancing the accuracy rate of 2.25% than the simple branch prediction. Further, a hybrid branch prediction scheme is proposed, which uses both global and local branch information, providing more accuracy than the single and correlation branch prediction schemes. The results suggest that the proposed hybrid branch prediction schemes provide an increased accuracy rate of 3.68% and 1.43% than single branch prediction and correlation branch prediction. Conclusion: The proposed hybrid branch prediction scheme gives a lower misprediction rate and higher accuracy rate than the simple branch prediction scheme and correlation branch prediction scheme. A R T I C L E H I S T O R Y Received: June 07, 2020 Revised: November 15, 2020 Accepted: December 22, 2020 DOI: 10.2174/2666255814666210210163616 Keywords: Pipeline, branch prediction, static branch prediction, dynamic branch prediction, accuracy rate. 1. INTRODUCTION In computer architecture, a branch predictor is a unit in a processor that determines whether a conditional branch in the instruction flow of a program is likely to be taken or not. Branch target prediction speculates the target of the branch or unconditional jump before it is computed by parsing the instruction itself. Thus, Branch prediction increases the number of instructions available for the scheduler to issue and helps exploit the available instruction-level parallelism (ILP). In a highly parallel computer system, since conditional branch instructions can break the normal flow of instruction fetching and execution (by causing pipeline disruptions), there has been a mounting pressure on microprocessor architects to improve the predictability of the conditional branches. Pipeline disruption reduces the effective instruction throughput by introducing extra delays in the pipeline. Since branches constitute a significant *Address correspondence to this author at the Department of Electronics and Communication, Research Scholar, Deenbandhu Chhotu Ram University of Science and Technology Sonipat, India; Tel: +919810878194; E-mail: sweetynain28@gmail.com fraction of the instruction mix, the efficiency of handling branches is essential. Recent work in branch prediction has led to the development of both hardware and software schemes that achieve acceptable prediction accuracy. Branch prediction addresses two fundamental problems: 1) predicting the direction of conditional branches and 2) calculating the branch target address. The branch prediction method falls into two categories of prediction. 1.1. Static Branch Prediction This technique is the simplest of all methods as it has a predetermined branch action during the entire program [4]. The prediction is set during the compile-time; once's the prediction is fixed, it cannot be changed [5]. These predictions include methods such as Branch taken or not taken Backward taken forward, not taken Profile-based prediction Heuristic-based prediction