Slide 43 of 97
Notes:
Let’s examine non-pipelined versus pipelined CPUs, using a simple example, doing laundry. If we wanted to wash, dry, and fold several loads of laundry, we have three steps. If each step took 20 minutes, and we performed the tasks in serial fashion, in the first hour we would complete one load by washing it in the first 20 minutes, drying it in the second 20 minutes, and folding it during the final 20 minutes. At the end of 60 minutes, we would begin the second load of laundry. To complete three loads, we would spend 3 hours, or nine 20 minute cycles.
If the same task were completed in a pipelined fashion, during the first 20 minutes we would wash the first load, during the second 20 minutes we would dry load 1 and wash load 2, during the third 20 minute cycle, we would fold load 1, dry load 2, and washed load three. You can see from this simple analogy that we would complete our task in about half the time it took using a serial, or non-pipelined process.
This is how pipelining occurs in a CPU, and is demonstrative of the radical performance improvements that can be accomplished with optimized pipeline use.