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. |