Von Neumann and Harvard Machine Architecture YASH PAL, March 8, 2025February 20, 2026 Von Neumann and Harvard Machine Architecture – A computer can be defined as a device that can store, process, and retrieve data as and when required. Most of the computer systems can be divided into three subsystems Processor Memory Input/Output devices Based on these three subsystems, the computer architecture can be classified as follows: Von Neumann Machine Architecture Harvard Machine Architecture Von Neumann Machine Architecture Most of today’s computer designs are based on the concept developed by John Von Neumann, referred to as Von Neumann architecture. A Von Neumann machine has three hardware subsystems: a CPU, a main memory, and an I/O system. It is a stored program computer. The stored program concept is that first, the program and data needed by that program are stored in the main memory, and then the processor fetches instructions and executes them one by one. The instructions need not be entered each time they are processed. One of the developers of this concept was John Von Neumann; therefore, such computers are named after Von Neumann Computers. In Von Neumann’s machine architecture, data and code (instructions) are stored in the main memory without differentiating these words (bytes) from one another. It means that the data and program storage are in the same memory address space. The following figure shows the memory architecture of a computer that is based on Von Neumann architecture, with n-bits representing A memory address. Von Neumann Machine Architecture A Von Neumann machine has only a single path between the main memory and the control unit. This feature is referred to as Von neumann bottlenack. Treats program and data equally. One part to memory. Von Neumann’s bottleneck (the rate at which data and programs can get into the CPU is limited by the bandwidth of the interconnect). Von Neumann computer architecture Harvard Machine Architecture Harvard machine architecture also has three hardware subsystems: a CPU, a memory, and an I/O system. In this architecture, the program code and data are stored in separate memory blocks. Each memory block has a starting address of 0. The figure below shows the memory structure in the Harvard machine architecture. Harvard computer architecture Since program code and data are stored in separate memory blocks, the machine uses two distinct sets of control signals to fetch the program code and data. There are separate control signals for program memory read and data memory read while fetching program and data, respectively. The Harvard Architecture is a computer architecture with separate storage and signal pathways for instructions and data. It contrasts with the von Neumann Architecture, where program instructions and data share the same memory and pathways. The term originated from the Harvard Mark 1 relay-based computer, which stored instructions on punched tape (24 bits wide) and data in electro-mechanical counters. These early machines had data storage entirely contained within the central processing unit, and provided no access to the instruction storage as data. The program needed to be loaded by an operator; the processor could not initialize itself. Harvard machine architecture Related questions and answers Classify the computer architecture. The computer architecture can be classified as(1) – VON Neumann machine architecture.(2) – Harvard machine architecture. Differentiate the VON Neumann and the Harvard machine architecture. In VON Neumann machine architecture, data and code are stored in main memory without differentiating them, whereas in Harvard machine architecture, data and code are stored in separate memory blocks of main memory. Computer System Architecture engineering subjects Computer System Architectureengineering subjects