• Home
  • Search
  • Opportunistic Early Pipeline Re-steering for Data-dependent Branches
  • Cite Icon7
  • https://doi.org/10.1145/3410463.3414628Copy DOI Icon

Opportunistic Early Pipeline Re-steering for Data-dependent Branches

  • Sep 30, 2020
  • Saurabh Gupta +3 more
Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

As Out-of-Order (OOO) cores scale to very large instruction windows to extract higher instruction level parallelism (ILP), the cost of mis-speculation increases tremendously. Branch predictors sitting at the head of the pipeline are a significant contributor to the speculatively executed code. It is critical to limit the execution time down the wrong path for the sake of performance and energy efficiency. Architects continue to increase the branch predictor sizes and improve the prediction algorithms to mitigate the increasing cost of the mis-speculations. Unfortunately, there still exists branches whose outcomes are predominantly data dependent, and that significantly contribute to the overall mispredictions. This work is the first to characterize data dependent branches at a scale spanning 100+ workloads drawn from several application categories and establish a clear motivation to address them. We find that branches which have only one load instruction feeding them and only simple operations to compute the branch direction from the load value are responsible for a significant fraction of the overall mispredictions. We call such branches Direct Data Dependent (3D) branches. We develop a family of synergistic techniques to avoid mispredictions from such 3D-branches. We describe 3D-Branch Overrider, our novel branch overriding technique that operates in the front-end of the pipeline to minimize the branch misprediction penalties. On a modern Icelake-like OOO core equipped with the state-of-the-art branch predictor, we find that our technique provides a 12.7% reduction in branch mispredictions resulting in 3.1% Instructions Per Cycle (IPC) gain while needing just 5.7KB in additional storage. As future cores become wider and deeper, we show that the gains from 3D-Branch Overrider nicely increases, even if the size of the underlying branch predictor is aggressively scaled.

Similar Papers
  • Research Article

Leveraging CPU Features for Computational Efficiency: A Deep Dive into Modern Optimization Techniques

  • Jul 08, 2021
  • International Journal For Multidisciplinary Research
  • Pradeep Kumar -
  • Conference Article
  • Citations1

Register organization for enhanced on-chip parallelism

  • Sep 27, 2004
  • R Sangireddy
  • Conference Article
  • Citations3

Exploiting Java instruction/thread level parallelism with horizontal multithreading

  • Jan 15, 2001
  • Kenji Watanabe +2
  • Conference Article
  • Citations18

The Bimode++ Branch Predictor

  • Jan 17, 2005
  • K Kise +3
  • Conference Article
  • Citations6

Control-Flow Independence Reuse via Dynamic Vectorization

  • Oct 27, 2016
  • A Pajuelo +2
  • Conference Article
  • Citations8

Selective branch prediction reversal by correlating with data values and control flow

  • Mar 07, 2017
  • J.L Aragon +3
  • Conference Article
  • Citations2

Architectures for one billion of transistors

  • Sep 20, 2000
  • Mateo Valero
  • PDF
  • Research Article

Comparison of the Efficiency and Theoretical Hardware Consumption of Four Different Dynamic and Static Branch Predictors

  • Sep 01, 2021
  • Journal of Physics: Conference Series
  • Boyang Li
  • Conference Article
  • Citations24

Code placement for improving dynamic branch prediction accuracy

  • Jun 12, 2005
  • Daniel A Jiménez
  • Book Chapter

A Bypass Mechanism to Enhance Branch Predictor for SMT Processors

  • Aug 23, 2007
  • Yongfeng Pan +3
  • Conference Article
  • Citations115

Characterizing the impact of predicated execution on branch prediction

  • Jan 01, 1994
  • Scott A Mahlke +5
  • Conference Article
  • Citations91

Guarded execution and branch prediction in dynamic ILP processors

  • Apr 01, 1994
  • Dionisios Pnevmatikatos +1
  • Research Article
  • Citations3

An efficient branch predictor for improved accuracy of instruction level parallelism

  • Apr 06, 2021
  • The Journal of Supercomputing
  • Sweety +1
  • Single Report

Broadcast Mechanism for improving Conditional Branch Prediction in Speculative Multithreaded Processors

  • Jan 01, 2000
  • Renjith Thankappan Achary Retnamma
  • Conference Article
  • Citations1

Two branch predictor schemes for reduction of misprediction rate in conditions of frequent context switches

  • Oct 20, 1998
  • M Petrovic +2
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.