Pipeline

A pipeline in the context of computer processing is a technique for executing multiple instructions at once. Computer processors can handle millions of instructions per second. Every instruction goes through several stages, each processed by a different part of the processor. With each clock cycle, an instruction moves from one stage to the next, and while one instruction is going through one stage, other instructions are simultaneously going through different stages.

A typical CPU pipeline involves five stages — instruction fetch, instruction decode, execute, memory access, and write back (although this may vary by architecture). Without pipelining, a processor could handle only one instruction at a time. Since it takes several clock cycles for each instruction to move through all the stages, most of the processor would sit idle while a single instruction moves from stage to stage. Non-pipelined processing does not make a single instruction take longer, but it does mean that the processor can process fewer instructions per second.

Instruction pipelining works a lot like an automotive assembly line, where each station has a single task — installing seats, mounting the engine, attaching the wheels, etc. If only one car is moving down the line at a time, most of those stations are sitting idle, and the factory won't be able to make many cars in a day. However, if dozens of vehicles are on the line at once — enough to keep each station busy — far more cars will be completed in a single day even though each one still takes the same time.

GPU Graphics Pipelines

In addition to CPUs, computer GPUs also use pipelining to process instructions. The GPU graphics pipeline is more complex, involving several dedicated processing components that perform mathematical functions to render 3D scenes and objects into 2D images displayed on a screen.

GPU architectures vary significantly from generation to generation, but most graphics pipelines follow a similar pattern. A simple graphics pipeline starts by converting the 3D coordinates of vertices (the corners of the triangles that make up every 3D object) into 2D coordinates on the flat plane of a screen. It turns those coordinates into wireframes, then fills in the geometry between those vertices to create shapes. Next, it rasterizes those shapes into pixels by adding texture maps, lighting, and other shader effects. Hidden pixels and other information not visible to the "camera" are discarded, then the final image is saved to the frame buffer and displayed on the screen.

Updated December 6, 2023 by Brian P.

quizTest Your Knowledge

Ultra DMA transfers data through which controller?

A
SCSI
0%
B
PCI
0%
C
USB
0%
D
ATA
0%
Correct! Incorrect!     View the Ultra DMA definition.
More Quizzes →

The Tech Terms Computer Dictionary

The definition of Pipeline on this page is an original definition written by the TechTerms.com team. If you would like to reference this page or cite this definition, please use the green citation links above.

The goal of TechTerms.com is to explain computer terminology in a way that is easy to understand. We strive for simplicity and accuracy with every definition we publish. If you have feedback about this definition or would like to suggest a new technical term, please contact us.

Sign up for the free TechTerms Newsletter

How often would you like to receive an email?

You can unsubscribe or change your frequency setting at any time using the links available in each email.

Questions? Please contact us.