A pipeline is a set of data processing elements connected in series, so that the output of one element is the input of the next one.The following gives a laundry analogy for pipelining. Ann, Brian, Cathy, and Don each have dirty clothes to be washed, dried, and folded where
| Figure | Description | 
|---|---|
![]()  |  
   Wash dirty load of clothes. | 
![]()  | 
   Dry wet clothes. | 
![]()  | 
   Fold and put clothes into drawers. | 
![]()  | 
   Each stage takes 30 minutes to complete and four loads of clothes are to wash, dry, and fold. | 
| The washer, dryer, and “folder” each takes 30 minutes for its task. Therefore, the sequential laundry takes 6 hours for 4 loads. | 
    
   | 
 
| Intuitively, we can use pipelining to speed up laundry. The pipelined laundry takes just 3 hours for 4 loads. Speedup factor is 2 for 4 loads. We show the pipeline stage of different loads over time by showing copies of the four resources on this two-dimensional timeline, but we really have just one of each resource. |  
    
   |