Computer architecture has undergone incredible changes in the past 20 years. One element that has remained constant throughout the years, is the von Neumann concept of computer design. It has been used in computers since it was published.
Von Neumann Architecture.
Von Neumann architecture was first published by John Von Neumann in 1945. His computer architecture design consists of a Control Unit, Arithmetic and Logical Unit (ALU), Memory unit, Registers and Inputs/Outputs. The basic structure of the Von Neumann Architecture is shown in the Figure below.
According to Von Neumann Architecture, CPU consists of two units, Control Unit and Arithmetic Logic Unit. The underlying principle of Von Neumann Architecture is that data and instructions are treated in the same manner which means that both data and instructions are addressable. It operates using for simple steps:- Fetch, Decode, Execute, Store, called the Machine Cycle as shown in the diagram.
Instructions are fetched from the memory by the CPU. The CPU then decodes and executes the instructions and once it is completed it is stored back in the memory.
Von Neumann Bottleneck.
Under this architecture, memory for instructions and data are unified and shared with one data bus and one address bus between processor and memory. Instructions and data have to be fetched in sequential order, known as the Von Neumann Bottleneck which limits the bandwidth of memory access. The processor is idle for a certain amount of time while memory is accessed. Though numerous solutions have been proposed and implemented in modern day including cache memory and branch predictor algorithms, these solutions have not been able to solve the root of the problem rather it had made the architecture more complex.
Has the world started to move away from the Von Neumann Architecture?
In the modern world, Harvard Architecture has become a challenge for the Von Neumann Architecture. Harvard architecture is a type of computer architecture that separates its memory into two parts so that data and instructions are stored separately. This architecture also has separate buses to transfer data and fetch data. This allows the CPU to fetch data and instructions simultaneously.
Further, IBM researches introduced a new non Von Neumann Architecture called the True North Architecture inspired by the functions of the human brain. Here, it uses a memory controller like a neuron, with no CPU, to work on synaptic-like data sets in memory with no shuffling around whatsoever by virtue of harnessing the crystallization dynamic of phase-change memories .
In addition to these, many other alternative architectures have come up in the world of today.
It is obvious working with Von Neumann Architecture is not suitable to work in the future and it will be diminished in the near future. Some companies have already started to work with the alternative architectures, and the rest of the world would most probably switch to the alternative architectures as the traditional Von Neumann Architecture will be unable to cater the needs of the future computers.