• Cite Icon24
  • https://doi.org/10.1145/514191.514223Copy DOI Icon

Dual path instruction processing

  • Jun 22, 2002
  • Juan L Aragón +3 more
Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

The reasons for performance losses due to conditional branch mispredictions are first studied. Branch misprediction penalties are broken into three categories: pipeline-fill penalty, window-fill penalty, and serialization penalty. The first and third of these produce most of the performance loss, but the second is also significant. Previously proposed dual (or multi) path execution methods attempt to reduce all three penalties, but these methods are also quite complex. Most of the complexity is caused by simultaneously executing instructions from multiple paths.A good engineering compromise is to avoid the complexity of multiple path execution by focusing on methods that reduce only the pipeline and window re-fill penalties. Dual Path Instruction Processing (DPIP) is proposed as a simple mechanism that fetches, decodes, and renames, but does not execute, instructions from the alternative path for low confidence predicted branches at the same time as the predicted path is being executed. All the stages of the pipeline front-end are hidden once the misprediction is detected. This method thus targets the pipeline-fill penalty and is shown to achieve a good trade-off between performance and complexity. To reduce the window-fill penalty, we further propose the addition of a pre-scheduling engine that schedules instructions from the alternative path in an estimated execution order. Thus, after a misprediction, a high number of instructions from the alternate path can be immediately issued to execution, achieving an effect similar to very fast re-filling of the window. Performance evaluation of DPIP in a 14-stage superscalar processor (like IBM Power 4) shows an average IPC improvement of up to 10% for the bzip2 benchmark, and an average of 8% for ten benchmarks from the SPECint95 and SPECint2000 suites.

Similar Papers
  • Conference Article
  • Citations24

Code placement for improving dynamic branch prediction accuracy

  • Jun 12, 2005
  • Daniel A Jiménez
  • Conference Article
  • Citations6

Control-Flow Independence Reuse via Dynamic Vectorization

  • Oct 27, 2016
  • A Pajuelo +2
  • Research Article
  • Citations31

An analysis of a resource efficient checkpoint architecture

  • Dec 01, 2004
  • ACM Transactions on Architecture and Code Optimization
  • Haitham Akkary +2
  • Book Chapter
  • Citations26

Compiler algorithms on if-conversion, speculative predicates assignment and predicated code optimizations

  • Jan 01, 1997
  • Jesse Z Fang
  • Conference Article
  • Citations24

Towards Temporal Controllabilities for Workflow Schemata

  • Sep 01, 2010
  • Carlo Combi +1
  • Conference Article
  • Citations41

Register allocation via clique separators

  • Jun 21, 1989
  • R Gupta +2
  • Conference Article
  • Citations6

MultiPathPrivacy: Enhanced Privacy in Fault Replication

  • May 01, 2012
  • P Louro +2
  • Conference Article
  • Citations7

Opportunistic Early Pipeline Re-steering for Data-dependent Branches

  • Sep 30, 2020
  • Saurabh Gupta +3
  • Book Chapter
  • Citations1

Area-Aware Pipeline Gating for Embedded Processors

  • Jan 01, 2005
  • Babak Salamat +1
  • Conference Article
  • Citations3

GuideSE: Annotations for Guiding Concolic Testing

  • May 01, 2015
  • Koushik Sen +3
  • Book Chapter
  • Citations2

Control Program Development in CPDev Using SFC Language, HMI and Runtime Environment

  • Jan 01, 2018
  • Dariusz Rzonca +2
  • Conference Article
  • Citations111

MultiSE: multi-path symbolic execution using value summaries

  • Aug 30, 2015
  • Koushik Sen +3
  • Conference Article

Seamless mobility provisioning by dual cross-linking method in WLAN

  • Jun 01, 2010
  • Myeongyu Kim +3
  • Conference Article
  • Citations10

Exploring program phases for statistical bug localization

  • Jun 20, 2013
  • Varun Modi +2
  • Research Article
  • Citations1

A combined compiler and architecture technique to control multithreaded execution of branches and loop iterations

  • Mar 01, 2000
  • ACM SIGARCH Computer Architecture News
  • A Unger +2
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.