Computer Architecture
Computer Architecture
Describe the basic Von-Neumann architectural definition and describe the limitations imposed by the Von-Neumann bottleneck and how this can be partially overcome
The von Neumann architecture is a model of computing architecture that uses a single storage structure to hold both the set of instructions on how to perform the computation and the data required or generated by the computation. Such machines are also known as stored-program computers. The architecture is named after mathematician John Von Neumann who provided an early written account of a general purpose stored-program computing machine.
By treating the instructions in the same way as the data, a stored-program machine can easily change the instructions. One important motivation for such a facility was the need for a program to increment or otherwise modify the address portion of instructions. This became less important when index registers and indirect addressing became customary features of machine architecture. In other words the machine is reprogrammable.
The separation between the CPU and memory leads to what is known as the von Neumann bottleneck. The bandwidth, or the data transfer rate, between the CPU and memory is very small in comparison with the amount of memory. In modern machines it is also very small in comparison with the rate at which the CPU itself can work. The bottleneck takes place under some circumstances such as, when the CPU is required to perform minimal processing on large amounts of data, which are becoming much more frequent as CPU speeds increase and large amounts of memory become common. This gives rise to a serious limitation in overall effective processing speed, because the CPU is continuously forced to wait for vital data to be transferred to or from memory.