2019 Design, Automation &Amp; Test in Europe Conference &Amp; Exhibition (DATE) 2019
DOI: 10.23919/date.2019.8715034
|View full text |Cite
|
Sign up to set email alerts
|

FIFOrder MicroArchitecture: Ready-Aware Instruction Scheduling for OoO Processors

Abstract: 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 fr… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
8
0

Year Published

2020
2020
2022
2022

Publication Types

Select...
4
2

Relationship

2
4

Authors

Journals

citations
Cited by 10 publications
(8 citation statements)
references
References 14 publications
(19 reference statements)
0
8
0
Order By: Relevance
“…In contrast to CRISP, OOO techniques, however, fail to improve performance if there do not exist sufficient independent instructions after the delinquent load (see Figure 1). Instruction criticality has been leveraged to improve scheduling in prior works including Fiforder [4], Longterm parking [102], and Delay-and-Bypass [3]. These works partition the instruction queue into smaller sub-queues holding ready, non-ready, critical, and non-critical instructions to improve the scheduling energy-efficiency.…”
Section: Related Workmentioning
confidence: 99%
“…In contrast to CRISP, OOO techniques, however, fail to improve performance if there do not exist sufficient independent instructions after the delinquent load (see Figure 1). Instruction criticality has been leveraged to improve scheduling in prior works including Fiforder [4], Longterm parking [102], and Delay-and-Bypass [3]. These works partition the instruction queue into smaller sub-queues holding ready, non-ready, critical, and non-critical instructions to improve the scheduling energy-efficiency.…”
Section: Related Workmentioning
confidence: 99%
“…Therefore, they propose an architecture that attempts to execute all instructions via in-order pipeline stages before dispatching the unexecuted ones to OoO pipeline, thereby reducing scheduling energy. FIFOrder [2], instead of trying to execute all instruction via in-order stages, dispatches ready instructions to a FIFO issue queue and non-ready instructions to an OoO (content addressable memory-based) issue queue. As the OoO queue handles fewer instructions, FIFOrder reduces its depth and width, thus reducing the scheduling energy cost.…”
Section: Energy-efficient Core Designmentioning
confidence: 99%
“…FIFOrder: The FIFOrder architecture, proposed by Alipour et al [19], offloads and issues instructions from three FIFO queues covering ready, "almost-ready", and "load tail" instruc-tions. By separating instructions into these classes they can reduce cross-FIFO stalls due to dependencies on long-latency loads.…”
Section: A Ready-aware Approachesmentioning
confidence: 99%
“…This allows for the use of smaller and/or narrower IQs without hurting performance. Examples of this approach include filtering instructions that can be executed earlier [18], "parking" instructions that will not be ready for a while [3], and bypassing instructions that do not benefit from out-of-order scheduling [19]. Implicit to the approach of reducing IQ pressure is the need to identify instructions that do not benefit from the expensive scheduling capabilities of the IQ.…”
Section: Introductionmentioning
confidence: 99%