Pipelining

In computer science, pipelining is a technique used to improve the speed of processes by overlapping the execution of multiple steps in a system, often within a CPU or in parallel computing. The term is most commonly associated with CPU instruction pipelines, but it can also apply to other areas, such as network data processing or graphics rendering.

Key concepts

Instruction Pipeline (in CPUs)

Stages of a Typical Instruction Pipeline

Hazards

Parallelism

Pipelining exploits instruction-level parallelism by executing different parts of multiple instructions in parallel, as long as those instructions are independent of each other.

Other types

Pipelining is a basic concept for improving system performance by breaking down processes into smaller, sequential steps that can be executed in parallel or with overlap.