Von Neumann Architecture

Teach any GCSE Computer Science class

We have put together a full GCSE Computer Science curriculum that will give you all the teaching materials you need to teach any topic.

Whether you’re a brand new Computer Science teacher, or you’ve been teaching ICT for years, our resources will save you hours and hours of lesson preparation every single week.

View the resources →

The Von Neumann architecture is about the structure that a computer should follow.  Most of the computers today follow this framework.  A Von Neumann-based computer has the following characteristics:

  • Utilises a single processor
  • Utilises one memory for both instructions and data
  • Implements programs by executing one instruction at a time

John Von Neumann

John Louis von Neumann is a famous mathematician who wrote the First Draft of a Report on the EDVAC.  EDVAC refers to Electronic Discrete Variable Automatic Computer which is one of the original electronic computers.  This paper laid the foundations of computer architecture.
He made major contributions in the use of memory to store data in digital computers.  Von Neumann is the inventor of the merge sort algorithm, wherein the halves of an array are sorted and merged.  He also wrote the book, The Computer and the Brain.  This book is about the brain being viewed as a computing machine.

Components of Von Neumann Architecture

The Von Neumann Architecture has the following components:

  • Central Processing Unit (CPU)
  • Immediate Access Store (IAS)
  • Input / Output (I/O)

Central Processing Unit

The CPU governs the computer and handles the data.  It has four main parts as follows:

  • Arithmetic Logic Unit (ALU)
    • This part handles all the arithmetic and logic operations such as calculations and comparisons.
  • Control Unit
    • This part handles the movement of instructions to and from the memory and the execution of instructions one at a time.
  • Registers
    • There are different types of registers depending on the information being stored.
      • Program Counter – stores location of next instruction
      • Current Instruction Register – stores current instruction being implemented
      • Accumulators – store results of calculations and comparisons
      • Status Register – stores data about the last operation
      • Interrupt Register – stores information regarding an interruption that occurred
  • Clock
    • Instructions are executed to the beat of the clock. The faster the clock, the faster the computer is.

Immediate Access Store

This is commonly referred to as the Random Access Memory (RAM) or Main Memory.  It stores both instructions and data.  Before Von Neumann, computers used to divide memory into instructions memory and data memory, which made it complex.  Von Neumann discovered that there’s no difference between the nature of an instruction and the nature of data.
Buses which allow the movement of instructions and data between different parts of the computer is called a data bus.  Buses that detect locations in memory is called an address bus.

Input / Output

I/O refers to the accessories for inputting and outputting of data.  A computer needs to read in data and send out data through I/O ports.  An I/O controller is an interface that allows a user to attach any I/O device to the computer and send data in or out of the computer.

Advantages of Von Neumann Architecture

Here are some advantages of the Von Neumann architecture:

  • Control Unit retrieves data and instruction in the same manner from one memory. Design and development of the Control Unit is simplified, cheaper and faster.
  • Data from input / output devices and from memory are retrieved in the same manner.
  • Organisation of memory is done by programmers which allows them to utilise the memory’s whole capacity.

Disadvantages of Von Neumann Architecture

Here are some disadvantages of the Von Neumann architecture:

  • Parallel implementation of program is not allowed due to sequential instruction processing.
  • Von Neumann bottleneck – Instructions can only be carried out one at a time and sequentially.
  • Risk of an instruction being rewritten due to an error in the program.