Lukas' Notes

computer-architecture

Definition

Pipeline

A pipeline (in processor design) divides the processing of an instruction into a sequence of stages, so that multiple instructions overlap in execution — each occupying a different stage at the same time.

Stages

Each stage performs a distinct part of the instruction lifecycle. The classical five-stage pipeline:

In out-of-order and superscalar designs, additional stages such as rename, issue, complete, and commit appear.

Throughput vs Latency

A pipeline improves throughput, not the latency of a single instruction. Each instruction still passes through all stages, but the processor begins a new instruction every cycle once the pipeline is full. The ideal throughput is one instruction per cycle (CPI = 1).

Pipeline Diagram

The standard visual convention draws stages horizontally and time vertically:

Each instruction moves one stage right per cycle. New instructions enter at the left every cycle.