Reconstructing Out-of-Order Issue Queue

被引:2
|
作者
Jeong, Ipoom [1 ]
Lee, Jiwon [1 ]
Yoon, Myung Kuk [2 ]
Ro, Won Woo [1 ]
机构
[1] Yonsei Univ, Sch Elect & Elect Engn, Seoul, South Korea
[2] Ewha Womans Univ, Dept Comp Sci & Engn, Seoul, South Korea
基金
新加坡国家研究基金会;
关键词
Dynamic Scheduling; Data Dependence; Steering; INSTRUCTION; MICROARCHITECTURE; CORE;
D O I
10.1109/MICRO56248.2022.00023
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Out-of-order cores provide high performance at the cost of energy efficiency. Dynamic scheduling is one of the major contributors to this: generating highly optimized issue schedules considering both data dependences and underlying execution resources, but relying heavily on complex wakeup and select operations of an out-of-order issue queue (IQ). For decades, researchers have proposed several complexity-effective dynamic scheduling schemes by leveraging the energy efficiency of an in-order IQ. However, they are either costly or not capable of delivering sufficient performance to substitute for a conventional wide-issue out-of-order IQ. In this work, we revisit two previous designs: one classical dependence-based design and the other state-of-the-art readiness-based design. We observe that they are complementary to each other, and thus their synergistic integration has the potential to be a good alternative to an out-of-order IQ. We first combine these two designs, and further analyze the main architectural bottlenecks that incur the underutilization of aggregate issue capability, thereby limiting the exploitation of instruction-level and memory-level parallelisms: 1) memory dependences not exposed by the register-based dependence analysis and 2) wide and shallow nature of dynamic dependence chains due to the long-latency memory accesses. To this end, we propose Ballerino, a novel microarchitecture that performs balanced and cache-miss-tolerable dynamic scheduling via a complementary combination of cascaded and clustered in-order IQs. Ballerino is built upon three key functionalities: 1) speculatively filtering out ready-at-dispatch instructions, 2) eliminating wasteful wakeup operations via a simple steering technique leveraging the awareness of memory dependences, and 3) reacting to program phase changes by allowing different load-dependent chains to share a single IQ while guaranteeing their out-of-order issue. The net effect is minimal scheduling energy consumption per instruction while providing comparable scheduling performance to a fully out-of-order IQ. In our analysis, Ballerino achieves comparable performance to an 8-wide out-of-order core by using twelve in-order IQs, improving core-wide energy efficiency by 20%.
引用
收藏
页码:144 / 161
页数:18
相关论文
共 50 条
  • [41] Recycling Data Slack in Out-of-Order Cores
    Ravi, Gokul Subramanian
    Lipasti, Mikko H.
    2019 25TH IEEE INTERNATIONAL SYMPOSIUM ON HIGH PERFORMANCE COMPUTER ARCHITECTURE (HPCA), 2019, : 545 - 557
  • [42] Out-of-Order Parallel Simulation for ESL Design
    Chen, Weiwei
    Han, Xu
    Domer, Rainer
    DESIGN, AUTOMATION & TEST IN EUROPE (DATE 2012), 2012, : 141 - 146
  • [43] Exploring the Performance Limits of Out-of-order Commit
    Alipour, Mehdi
    Carlson, Trevor E.
    Kaxiras, Stefanos
    ACM INTERNATIONAL CONFERENCE ON COMPUTING FRONTIERS 2017, 2017, : 211 - 220
  • [44] Modeling and verification of out-of-order microprocessors in UCLID
    Lahiri, SK
    Seshia, SA
    Bryant, RE
    FORMAL METHODS IN COMPUTER-AIDED DESIGN, PROCEEDINGS, 2002, 2517 : 142 - 159
  • [45] Runtime Verification over Out-of-order Streams
    Basin, David
    Klaedtke, Felix
    Zalinescu, Eugen
    ACM TRANSACTIONS ON COMPUTATIONAL LOGIC, 2020, 21 (01)
  • [46] Direct instruction wakeup for out-of-order processors
    Ramírez, MA
    Cristal, A
    Veidenbaum, AV
    Villa, L
    Valero, M
    INNOVATIVE ARCHITECTURE FOR FUTURE GENERATION HIGH-PERFORMANCE PROCESSORS AND SYSTEMS, PROCEEDINGS, 2004, : 2 - 9
  • [47] Monitoring regular expressions on out-of-order streams
    Johnson, Theodore
    Muthukrishnan, S.
    Rozenbaum, Irina
    2007 IEEE 23RD INTERNATIONAL CONFERENCE ON DATA ENGINEERING, VOLS 1-3, 2007, : 1290 - 1294
  • [48] INTERRUPT HANDLING FOR OUT-OF-ORDER EXECUTION PROCESSORS
    TORNG, HC
    DAY, M
    IEEE TRANSACTIONS ON COMPUTERS, 1993, 42 (01) : 122 - 127
  • [49] OoOJava']Java: Software Out-of-Order Execution
    Jenista, James C.
    Eom, Yong Hun
    Demsky, Brian
    ACM SIGPLAN NOTICES, 2011, 46 (08) : 57 - 67
  • [50] Deductive verification of advanced out-of-order microprocessors
    Lahiri, SK
    Bryant, RE
    COMPUTER AIDED VERIFICATION, 2003, 2725 : 341 - 354