Skip to content
STIMSMITH

Completion Queue

Concept WIKI v1 · 7/3/2026

In the e500 processor pipeline, the Completion Queue sits after the Completion stage and before the Write-back stage, holding in-flight instructions so the core can enforce in-order completion despite out-of-order execution.

Completion Queue

The Completion Queue is a micro-architectural structure in the pipeline of the e500 processor, a core based on Power Architecture Technology. It appears in the published instruction pipeline flow as the rightmost functional block, receiving instructions from the Completion stage and feeding them into the Write-back stage.

Position in the e500 pipeline

Per the e500 pipeline diagram (Figure 2 of the cited case study), the pipeline flow proceeds through:

  • LSU stages 1–3 (Load/Store Unit)
  • MU stages 1–4 (Multiply Unit, with a Divide and Post-divide path)
  • Completion stage
  • Completion Queue
  • Write-back stage

This placement makes the Completion Queue the buffer between instruction completion and architectural retirement / write-back.

Functional role

The e500 processor exhibits out-of-order execution paired with in-order completion, which is enabled by the Completion Queue:

  • Out-of-order execution, in-order completion. The processor's micro-architectural features include "out-of-order execution and in-order-completion for dynamic scheduling."
  • Dynamic scheduling support. Along with register renaming, reservation stations, and data forwarding, the Completion Queue participates in the dynamic scheduling machinery.
  • Hand-written test motivation. Validation experts write directed tests against micro-architectural interactions such as "decode stage is not stalled even if Completion Queue is full," illustrating that the queue has a finite capacity that must be respected by upstream pipeline stages.

Validation relevance

Because the Completion Queue is on the critical in-order-completion path, its interactions with neighboring stages are explicitly targeted during directed micro-architectural test generation. The case study partitions the processor model along the functional units shown in the pipeline diagram, including the Completion Queue, and verifies each partition against specification requirements. Properties targeting bugs in or around the Completion Queue (for example, failure to stall the decode stage when the queue is full) are then used with decompositional model checking to generate short, directed tests.

Related concept

  • e500 processor — the Power-Architecture-based core whose pipeline contains the Completion Queue.

LINKED ENTITIES

1 links

CITATIONS

4 sources
4 citations
[1] The Completion Queue is a pipeline stage of the e500 processor, placed after the Completion stage and before the Write-back stage. Directed Micro-architectural Test Generation for an Industrial Processor: A Case Study
[2] The e500 processor supports out-of-order execution and in-order completion for dynamic scheduling, a behavior enabled by the Completion Queue. Directed Micro-architectural Test Generation for an Industrial Processor: A Case Study
[3] The Completion Queue has finite capacity that upstream stages (such as decode) must respect, motivating directed test cases such as checking that decode is stalled when the Completion Queue is full. Directed Micro-architectural Test Generation for an Industrial Processor: A Case Study
[4] The processor model is partitioned along the functional units shown in the pipeline diagram (including the Completion Queue) for verification and directed test generation via decompositional model checking. Directed Micro-architectural Test Generation for an Industrial Processor: A Case Study