This weekend my son asked me a question that had me stumped, forced me to sit in the garden to think (*which was a great relief*) and to find a way of explaining it to him. Here is the result of my journey, whereby I used the example of adding eight numbers together, which I vaguely remember form material I once read during my studies. My explanation obviously is based in an ideal world, whereby no-one and nothing else is executing on the system, which for simplicity sake (*it was also getting cold in Ladner*) I defined as an assumption :)

## Adding 8 numbers on a single processor

The diagram shows that we ‘theoretically’ require 7 steps for a single processor system to add 8 numbers together:

## Adding 8 numbers on a dual processor

The diagram shows that we ‘theoretically’ require 4 steps for a dual processor system to add 8 numbers together:## Adding 8 numbers on a quad processor

The diagram shows that we ‘theoretically’ require 3 steps for a quad processor system to add 8 numbers together:## Summary

What becomes evident at a glance, is that the efficiency and effectiveness of multiple processors depends on the logic processed. In the first step the multiple processors all started running, but from step 2 onwards some were working and some were idling at the beach … in other words the efficiency reduced as the calculation steps proceeded along. The following table shows the ‘theoretical’ speed-up for this silly problem:

Processor | Steps | Speed-Up |

1 | 7 | 7/7=1 |

2 | 4 | 7/4=1.75 |

4+ | 3 | 7/3=2.33 |

In other words we would need a quad to be twice as fast as the single processor system to solve this specific problem domain. Looking forward to the next weekend and the next question from my boys … they can think of and ask the weirdest stuff.