Reducing branch misprediction penalty via selective branch recovery

作者: A. Gandhi , H. Akkary , S.T. Srinivasan

DOI: 10.1109/HPCA.2004.10004

关键词: Computer scienceBranchInstruction setParallel computingPath (graph theory)Branch mispredictionBranch target predictorIndependence (probability theory)Pipeline (computing)Convergence (routing)

摘要: Branch misprediction penalty consists of two components: the time wasted on misspeculative execution until mispredicted branch is resolved and to restart pipeline with useful instructions once resolved. Current processor trends, large instruction windows deep pipelines, amplify both components penalty. We propose a novel method, called selective recovery (SBR), reduce SBR exploits frequently occurring type control independence - exact convergence where path converges exactly at beginning correct path. In such cases, selectively reuses results computed during obviates need fetch or rename convergent again. Thus, addresses To increase likelihood mispredictions that can be handled SBR, we also present an effective means for inducing paths. With significantly improve performance (between 3%-22%, average 8%) wide range benchmarks over our baseline does not exploit SBR.

参考文章(20)
G. Hinton, The microarchitecture of the Pentium 4 processor Intel Technical Journal. ,vol. 1, ,(2001)
H. Akkary, S.T. Srinivasan, R. Koltur, Y. Patil, W. Refaai, Perceptron-Based Branch Confidence Estimation high-performance computer architecture. ,vol. 2005, pp. 265- 265 ,(2004) , 10.1109/HPCA.2004.10002
Haitham Akkary, Srikanth T. Srinivasan, Konrad Lai, Recycling waste: exploiting wrong-path execution to improve branch prediction international conference on supercomputing. pp. 12- 21 ,(2003) , 10.1145/782814.782819
Yuan Chou, Jason Fung, John Paul Shen, Reducing branch misprediction penalties via dynamic control independence detection international conference on supercomputing. pp. 109- 118 ,(1999) , 10.1145/305138.305175
Kevin M. Crozier, Qudus B. Olaniran, Wen-mei W. Hwu, Daniel A. Connors, John W. Sias, Scott A. Mahlke, David I. August, Patrick R. Eaton, Ben-Chung Cheng, Integrated predicated and speculative execution in the IMPACT EPIC architecture international symposium on computer architecture. ,vol. 26, pp. 227- 237 ,(1998) , 10.1145/279358.279391
Eric Rotenberg, Jim Smith, Control independence in trace processors international symposium on microarchitecture. pp. 4- 15 ,(1999) , 10.5555/320080.320084
J. Bharadwaj, W.Y. Chen, W. Chuang, G. Hoflehner, K. Menezes, K. Muthukumar, J. Pierce, The Intel IA-64 compiler code generator IEEE Micro. ,vol. 20, pp. 44- 53 ,(2000) , 10.1109/40.877949
Avinash Sodani, Gurindar S. Sohi, Dynamic instruction reuse Proceedings of the 24th annual international symposium on Computer architecture - ISCA '97. ,vol. 25, pp. 194- 205 ,(1997) , 10.1145/264107.264200
Haitham Akkary, Michael A. Driscoll, A dynamic multithreading processor international symposium on microarchitecture. pp. 226- 236 ,(1998) , 10.5555/290940.290988
Amir Roth, Gurindar S. Sohi, Register integration Proceedings of the 33rd annual ACM/IEEE international symposium on Microarchitecture - MICRO 33. pp. 223- 234 ,(2000) , 10.1145/360128.360151