Skip to content

Instruction Pipelining

Processors overlap instruction execution in stages (fetch, decode, execute, write-back); this pipeline enables high throughput but creates dependencies and stall conditions. Pipeline hazards explain why certain code patterns are slow.

Tension Addressed

Predictability vs. Flexibility

Recognizable As

Instruction-level parallelism, pipeline stalls from data dependencies, why branches are expensive (pipeline flush), loop unrolling benefits.

Canonical Sources

Hennessy & Patterson, Computer Architecture: A Quantitative Approach; Fog, Optimizing software in C++

Transfers To

Compiler design, microservice architectures (analogous pipeline stages), stream processing

A pipeline is only as fast as its slowest stage, and breaks require refilling. This principle transfers: assembly lines, HTTP request pipelines, CI/CD pipelines all exhibit similar behavior.