A technique that allows a processor to execute multiple instructions at the same time, by breaking them down into smaller steps. Each step, or stage, performs a different part of the instruction, such as fetching, decoding, executing, or writing back. Pipelining increases the throughput, or the number of instructions completed per unit of time, of the processor.