Von Neumann architecture

Von Neumann architecture is the design upon which many general purpose computers are based. The key elements of von Neumann architecture are:

A processor based on von Neumann architecture has five special registers which it uses for processing:

  • the program counter (PC) holds the memory address of the next instruction to be fetched from primary storage
  • the memory address register (MAR) holds the address of the current instruction that is to be fetched from memory, or the address in memory to which data is to be transferred
  • the memory data register (MDR) holds the contents found at the address held in the MAR, or data which is to be transferred to primary storage
  • the current instruction register (CIR) holds the instruction that is currently being decoded and executed
  • the accumulator (ACC) is a special purpose register and is used by the arithmetic logic unit (ALU) to hold the data being processed and the results of calculations
A diagram representing the Von Neumann architecture

Harvard architecture

In early computer systems, machine instructions were stored on punch cards and data could be stored on another media such as magnetic tape. This kept the instructions and data entirely separate from one another, known as the Harvard architecture. In modern computer systems this can be achieved by using a central processing unit with two separate memory units, one to store machine instructions and another to store data, which are connected by different buses.

A diagram representing the Harvard architecture