A pipeline is a segment in a processor that dramatically increases its performance, the same way an assembly line does in a factory. Deliberately designed in order to speed up processing speeds, each segment of the pipeline is optimised to perform one specific task, including but not limited to decoding instructions, fetching instructions or arguments, performing arithmetic operations, or even storing the results of a simple calculation or process. Each of these segments is completely independent, which means that different segments can work at the same time, in whatever order or combination is necessary for any set of tasks.