Runahead execution: An alternative to very large instruction windows for out-of-order processors

被引:152
|
作者
Mutlu, O [1 ]
Stark, J [1 ]
Wilkerson, C [1 ]
Patt, YN [1 ]
机构
[1] Univ Texas, ECE Dept, Austin, TX 78712 USA
关键词
D O I
10.1109/HPCA.2003.1183532
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Today's high performance processors tolerate long latency operations by, means of out-of-order execution. However as latencies increase, the size of the instruction window must increase even faster if we are to continue to tolerate these latencies. We have already reached the point where the size of an instruction window that can handle these latencies is prohibitively large, in terms of both design complexity and power consumption. And, the problem is getting worse. This paper proposes runahead execution as an effective way to increase memory latency tolerance in an out-of-order processor, without requiring an unreasonably large instruction window. Runahead execution unblocks the instruction window blocked by long latency operations allowing the processor to execute far ahead in the program path. This results in data being prefetched into caches long before it is needed. On a machine model based on the Intel((R)) Pentium((R)) 4 processor having a 128-entry instruction window, adding runahead execution improves the IPC (Instructions Per Cycle) by 22% across a wide range of memory, intensive applications. Also, for the same machine model, runahead execution combined with a 128-entry window performs within 1% of a machine with no runahead execution and a 384-entry instruction window.
引用
收藏
页码:129 / 140
页数:12
相关论文
共 50 条
  • [31] OVM: Out-of-order execution parallel virtual machine
    Bosilca, G
    Fedak, G
    Cappello, F
    FUTURE GENERATION COMPUTER SYSTEMS-THE INTERNATIONAL JOURNAL OF ESCIENCE, 2002, 18 (04): : 525 - 537
  • [32] The implementation of an out-of-order execution floating point unit
    Luo, M
    Bai, YQ
    Shen, XB
    Gao, DY
    2004: 7TH INTERNATIONAL CONFERENCE ON SOLID-STATE AND INTEGRATED CIRCUITS TECHNOLOGY, VOLS 1- 3, PROCEEDINGS, 2004, : 1384 - 1387
  • [33] Modeling out-of-order processors for software timing analysis
    Li, XF
    Roychoudhury, A
    Mitra, T
    25TH IEEE INTERNATIONAL REAL-TIME SYSTEMS SYMPOSIUM, PROCEEDINGS, 2004, : 92 - 103
  • [34] A Mechanistic Performance Model for Superscalar Out-of-Order Processors
    Eyerman, Stijn
    Eeckhout, Lieven
    Karkhanis, Tejas
    Smith, James E.
    ACM TRANSACTIONS ON COMPUTER SYSTEMS, 2009, 27 (02):
  • [35] Dynamic MIPS Rate Stabilization in Out-of-Order Processors
    Suh, Jinho
    Dubois, Michel
    ISCA 2009: 36TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE, 2009, : 46 - 56
  • [36] Cheap out-of-order execution using delayed issue
    Grossman, JP
    2000 IEEE INTERNATIONAL CONFERENCE ON COMPUTER DESIGN: VLSI IN COMPUTERS & PROCESSORS, PROCEEDINGS, 2000, : 549 - 551
  • [37] Symbolic Predictive Cache Analysis for Out-of-Order Execution
    Huang, Zunchen
    Wang, Chao
    FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING, FASE 2022, 2022, 13241 : 163 - 183
  • [38] Automatic Refinement Checking of Pipelines with Out-of-Order Execution
    Srinivasan, Sudarshan K.
    IEEE TRANSACTIONS ON COMPUTERS, 2010, 59 (08) : 1138 - 1144
  • [39] Formal verification of out-of-order execution with incremental flushing
    Jones, RB
    Skakkebæk, JU
    Dill, DL
    FORMAL METHODS IN SYSTEM DESIGN, 2002, 20 (02) : 139 - 158
  • [40] OUT-OF-ORDER EXECUTION AND STRUCTURAL EQUIVALENCE OF SIMULATION MODELS
    Bergen-Hill, Tobin A.
    Page, Ernest H.
    PROCEEDINGS OF THE 2010 WINTER SIMULATION CONFERENCE, 2010, : 466 - 478