(This is the older material - click here - for current specification content)

6. Problems with Von Neumann (1)

The illustration below shows the Von Neumann or stored program architecture.

stored program architecture

This is a very successful architecture, but it has its problems.

Problem 1

Every piece of data and instruction has to pass across the data bus in order to move from main memory into the CPU (and back again). This is a problem because the data bus is a lot slower than the rate at which the CPU can carry out instructions. This is called the 'Von Neumann bottleneck'.

If nothing were done, the CPU would spend most of its time waiting around for instructions.

Partial answer:

A special kind of memory called a 'Cache'.

Imagine the data bus as a bridge that can only carry so many instructions at a time. But what if we designed a 'holding area' on the CPU side of the bridge? Then we could store the most often-used instructions in the holding area instead of having to cross the bridge every time.

This holding area is called a 'cache' (pronounced 'cash'). If the software programmer is clever enough, they will make it easier for the CPU to store the most-often used part of the code in the 'cache'. This activity is called 'code optimisation'.

To illustrate what is meant by 'often' used, consider the small piece of pseudo code (i.e. generic code) below:

a simple program

The instruction 'Add 1 to a variable' could be stored in the cache and would not have be fetched from main memory for every step.


Challenge see if you can find out one extra fact on this topic that we haven't already told you

Click on this link: Memory cache


Copyright © www.teach-ict.com