Skipper: A microarchitecture for exploiting control-flow independence

被引:12
作者
Cher, CY [1 ]
Vijaykumar, TN [1 ]
机构
[1] Purdue Univ, Sch Elect & Comp Engn, W Lafayette, IN 47907 USA
来源
34TH ACM/IEEE INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE, MICRO-34, PROCEEDINGS | 2001年
关键词
D O I
10.1109/MICRO.2001.991101
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Although modern superscalar processors achieve high branch prediction accuracy, certain branches either are inherently difficult to predict or incur destructive interference in prediction tables, causing significant performance loss due to mispredictions. We propose a novel microarchitecture, called Skipper, to handle such difficult branches by exploiting control-flow independence. Previous approaches to handling difficult branches, one way or another, amount to executing incorrect instructions, squandering cycles and resources such as the i-cache bandwidth. Skipper altogether avoids incorrect instructions by skipping over, without even fetching, the control-flow dependent computation conditioned by a difficult branch. Instead, Skipper fetches and executes the control-flow independent instructions, which are past the point where the branch's taken and not-taken paths reconverge, and which need to be executed irrespective of the branch outcome. Because Skipper executes the correct control-flow dependent instructions after the difficult branch is resolved, it conserves the valuable resources. Skipper is the first proposal to exploit control-flow independence by skipping over control-flow dependent computation in a superscalar pipeline. Skipper fetches the skipped control-flow dependent instructions after the post-reconvergent instructions, out of program order. We describe key mechanisms to implement Skipper without unduly complicating the pipeline despite out-of-order fetch. SPECint95 simulations show that Skipper performs 10% and 8% better than superscalar and the previously-proposed Polypath, respectively, when all three microarchitectures have equal i-cache bandwidth and hardware resources.
引用
收藏
页码:4 / 15
页数:12
相关论文
共 23 条
[1]   A dynamic multithreading processor [J].
Akkary, H ;
Driscoll, MA .
31ST ANNUAL ACM/IEEE INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE, PROCEEDINGS, 1998, :226-236
[2]   Integrated predicated and speculative execution in the IMPACT EPIC architecture [J].
August, DI ;
Connors, DA ;
Mahlke, SA ;
Sias, JW ;
Crozier, KM ;
Cheng, BC ;
Eaton, PR ;
Olaniran, QB ;
Hwu, WMW .
25TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE, PROCEEDINGS, 1998, :227-237
[3]  
Breach S. E., 1994, Proceedings of the 27th Annual International Symposium on Microarchitecture. MICRO 27, P181
[4]  
BURGER D, 1996, TR1308 CS U WISC
[5]  
CHOU Y, 1999, INT C SUP JUN
[6]   Confidence estimation for speculation control [J].
Grunwald, D ;
Klauser, A ;
Manne, S ;
Pleszkun, A .
25TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE, PROCEEDINGS, 1998, :122-131
[7]  
Hao E., 1994, Proceedings of the 27th Annual International Symposium on Microarchitecture. MICRO 27, P228
[8]   Assigning confidence to conditional branch predictions [J].
Jacobsen, E ;
Rotenberg, E ;
Smith, JE .
PROCEEDINGS OF THE 29TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE - MICRO-29, 1996, :142-152
[9]   Selective Eager Execution on the PolyPath architecture [J].
Klauser, A ;
Paithankar, A ;
Grunwald, D .
25TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE, PROCEEDINGS, 1998, :250-259
[10]   Instruction fetch mechanisms for multipath execution processors [J].
Klauser, A ;
Grunwald, D .
32ND ANNUAL INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE, (MICRO-32), PROCEEDINGS, 1999, :38-47