This morning at breakfast, I had a mental arc related to multitasking. I was shoveling food into my son's mouth with his little baby spoon and into mine with my man-sized tablespoon. Here's how I related it to multitasking:

Using a different spoon (pipeline) for each application (mouth) requires a context switch (putting one spoon down and picking up another) in a non-ambidextrous (single processor) system (person). An ambidextrous (multi-processor) person would be able to operate both pipelines simultaneously, thus running everything faster.

Another option for increasing speed is to use the same pipeline for both processes--ie. use the same spoon to feed both mouths. This works fine if the processes cooperate well enough--ie. clean the spoon off (clean the registers, or the input queue or whatever) sufficiently when they're done taking their turn with it.

So what can we learn about computers from this example. Perhaps nothing. But we do learn something about what computer scientists think about at breakfast.