Characterizing the impact of predicated execution on branch prediction

  • Authors:
  • Scott A. Mahlke;Richard E. Hank;Roger A. Bringmann;John C. Gyllenhaal;David M. Gallagher;Wen-mei W. Hwu

  • Affiliations:
  • Center for Reliable and High-Performance, University of Illinois, Urbana-Champaign, IL;Center for Reliable and High-Performance, University of Illinois, Urbana-Champaign, IL;Center for Reliable and High-Performance, University of Illinois, Urbana-Champaign, IL;Center for Reliable and High-Performance, University of Illinois, Urbana-Champaign, IL;Center for Reliable and High-Performance, University of Illinois, Urbana-Champaign, IL;Center for Reliable and High-Performance, University of Illinois, Urbana-Champaign, IL

  • Venue:
  • MICRO 27 Proceedings of the 27th annual international symposium on Microarchitecture
  • Year:
  • 1994

Quantified Score

Hi-index 0.00

Visualization

Abstract

Branch instructions are recognized as a major impediment to exploiting instruction level parallelism. Even with sophisticated branch prediction techniques, many frequently executed branches remain difficult to predict. An architecture supporting predicated execution may allow the compiler to remove many of these hard-to-predict branches, reducing the number of branch mispredictions and thereby improving performance. We present an in-depth analysis of the characteristics of those branches which are frequently mispredicted and examine the effectiveness of an advanced compiler to eliminate these branches. Over the benchmarks studied, an average of 27% of the dynamic branches and 56% of the dynamic branch mispredictions are eliminated with predicated execution support.