Effectiveness of parallel branch prediction correctors on branch prediction accuracy




Wyche, Jason M.

Journal Title

Journal ISSN

Volume Title



The purpose of this study is to analyze the effectiveness of parallel branch correctors on branch prediction accuracy. The C++ programming language was used to create models for all prediction hardware components. Models were created for 5 branch predictors, 4 branch prediction correctors, and 2 prediction muxes. Prediction accuracy was evaluated for each of the branch predictors using 20 trace files from 4 computation workloads; integer, floating point, multi-media, and server. Baseline accuracies for each predictor, with no corrector, were determined. Then, prediction accuracy was determined with the addition of branch prediction correctors. Correctors were added to the predictors individually, as well as in a group with prediction muxes being used to make the final prediction. One of the muxes reversed the prediction produced by the branch predictor if any of the correctors produced a prediction differing from the branch predictor. The other mux took into account the predictions of the branch predictor and the correctors and produced a prediction based off a majority vote. It was shown that a performance gain could be realized with the introduction of correctors.


This item is available only to currently enrolled UTSA students, faculty or staff. To download, navigate to Log In in the top right-hand corner of this screen, then select Log in with my UTSA ID.


Branch Prediction, Branch Prediction Corrector



Electrical and Computer Engineering