FIFOrder MicroArchitecture: Ready-Aware Instruction Scheduling for OoO Processors
Journal article, Peer reviewed
Accepted version
Åpne
Permanent lenke
http://hdl.handle.net/11250/2635930Utgivelsesdato
2019Metadata
Vis full innførselSamlinger
Originalversjon
Design, Automation and Test in Europe (DATE). 2019, 716-721. 10.23919/DATE.2019.8715034Sammendrag
The number of instructions a processor's instruction queue can examine (depth) and the number it can issue together (width) determine its ability to take advantage of the ILP in an application. Unfortunately, increasing either the width or depth of the instruction queue is very costly due to the content-addressable logic needed to wakeup and select instructions out-of-order. This work makes the observation that a large number of instructions have both operands ready at dispatch, and therefore do not benefit from out-of-order scheduling. We leverage this to place such ready-at-dispatch instructions in separate, simpler, in-order FIFO queues for scheduling. With such additional queues, we can reduce the size and width of the expensive out-of-order instruction queue, without reducing the processor's overall issue width and depth. Our design, FIFOrder, is able to steer more than 60% of instructions to the cheaper FIFO queues, providing a 50% energy savings over a traditional out-of-order instruction queue design, while delivering 8% higher performance. FIFOrder MicroArchitecture: Ready-Aware Instruction Scheduling for OoO Processors