Complex branch profiling for dynamic conditional execution - Santos, R. R. dos; Santos, T. G. S. dos; Pilla, M. L.; Navaux, P. O. A.; Bampi, S.; Nemirovsky, M. (Anais do International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD); 2003: Anais do XV Symposium on Computer Architecture and High Performance Computing, 2003)
Branch predictors are widely used as an alternative to deal with conditional branches. Despite the high accuracy rates, misprediction penalties are still large in any superscalar pipeline. DCE, or dynamic conditional execution, is an alternative to reduce the number of predicted branches by executing both paths of certain branches, reducing the number of predictions and, therefore, the occurrence of mispredictions. The goal of this work is to analyze the complexity of branch structures and determine the number of branches that can be predicated in DCE and the distribution of mispredictions according to the proposed classification. The complex branch classification proposed extends the classification presented by Klauser [A. Klauser, et al., (1998)]. As result, we show that an average of 35% of all branches can be predicated in DCE and around 32% of all mispredictions fall into these branches.