Title
Dual path instruction processing
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.
Year
DOI
Venue
2002
10.1145/514191.514223
I4CS
Keywords
Field
DocType
performance loss,window-fill penalty,path execution method,alternate path,multiple path execution,serialization penalty,dual path instruction processing,dual path processing,multiple path,alternative path,pipeline-fill penalty,branch misprediction penalty,pre-scheduling,confidence estimation,front end
IBM,Serialization,Computer science,Parallel computing,Branch misprediction,Real-time computing,Schedule,Superscalar,Decodes
Conference
ISBN
Citations 
PageRank 
1-58113-483-5
10
1.08
References 
Authors
15
4
Name
Order
Citations
PageRank
Juan L. Aragón19511.26
José González252635.85
Antonio González33178229.66
James E. Smith43603386.38