Complex branch profiling for dynamic conditional execution

  • R. R. dos Santos UFRGS
  • T. G. S. dos Santos UFRGS
  • M. L. Pilla UFRGS
  • P. O. A. Navaux UFRGS
  • S. Bampi UFRGS
  • M. Nemirovsky Kayamba

Resumo


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.
Palavras-chave: Pipelines, Engines, Prefetching, Feeds, Accuracy, Degradation, Clocks, Frequency, Optimizing compilers, Pattern analysis
Publicado
10/11/2003
SANTOS, R. R. dos; SANTOS, T. G. S. dos; PILLA, M. L.; NAVAUX, P. O. A.; BAMPI, S.; NEMIROVSKY, M.. Complex branch profiling for dynamic conditional execution. In: INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING (SBAC-PAD), 15. , 2003, São Paulo/SP. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2003 . p. 28-35.