In This Article
What is Von Neumann Architecture?
The Von Neumann architecture refers to the written description by John Von Neumann of how information should be processed and stored in an electronic computer.
- The Von Neumann architecture is a simpler design based on the concept of stored-program computers.
- This architecture is used in workstations, modern personal computers and small computers such as laptops.
- The key feature of this structure is that data and instructions are executed one at a time and are stored as binary digits in the primary storage.
- There is only one processor and one memory to store both data and instructions in this architecture.
- This specific architecture typically helps in executing the programs that follow the fetch-decode-execute cycle.
Understanding Von Neumann Architecture
Von Neumann architecture refers to the design created by John Von Neumann, the Hungarian-American physicist and mathematician.
The description of the architecture was included as a part of the First Draft of a Report on the EDVAC on June 30, 1945. It is a very useful architecture that helps in developing operating systems.
Since then, it has been the fundamental design of modern computing, which is simple to design and easy to implement.
This computer architecture is also known by different names, such as:
- The Von Neumann model
- The Princeton architecture
A processor built on this specific architecture comes with five different registers that are used for data and instruction processing. These are:
- The Program Counter – This stores the memory address of the following instruction that is to be fetched from the primary storage.
- The Memory Address Register (MAR) – This stores the address of the current instruction that is to be fetched from the main memory or the address to which it is to be moved.
- The Memory Data Register (MDR) – This stores the data of the address stored in the MAR or the data that is to be moved to the main memory.
- The Current Instruction Register (CIR) – This stores the instructions being executed or decoded currently.
- The Accumulator (ACC) – This special-purpose register holds the data being processed by the ALU as well as the results of the calculations.
The design of the architecture helps even the self-hosting, sophisticated computing ecosystem flourish, and a lot of high-level languages leverage it by using machine-independent, abstract means to manipulate codes that are executable at runtime, such as List Processing or LISP.
Runtime information can also be used for tuning compilations just in time, such as the languages embedded in the web browsers or hosted on the Java Virtual Machine (JVM).
The Von Neumann Bottleneck
In this specific architecture, the memory and the CPU are usually separated, which is called the Von Neumann bottleneck.
Due to this bottleneck in the architecture, the access of instructions and data depends on the single bus connecting the memory and CPU.
This is because the bus may operate at variable rates, which may clog the communication process, which, in turn, affects the full potential of the other components in the computer system.
What are the Components of Von Neumann Architecture?
The architecture of Von Neumann consists of a single and shared main memory to store the data and instructions, an Arithmetic Logic Unit (ALU), a single bus to access the memory, a processor or Central Processing Unit (CPU), and an interconnection between the CPU and the primary memory.
Though all these parts are equally important for the architecture, it is the CPU that plays the most significant role, which helps all the other parts to function properly.
Each of the components of the CPU plays a significant role in it. For example
- The Arithmetic and Logic Unit (ALU) does all the calculations and logic operations.
- The Control Unit (CU) oversees the order of flow of data and instructions to be executed by a program with the help of control signals sent to the hardware.
- The registers act as the sites for short-term storage to hold the addresses of the data and instructions to be executed.
The main memory or the Random Access Memory (RAM) stores all of the program data and instructions and sends them through the I/O interfaces when requested.
Is the Von Neumann Architecture Still Used Today?
Yes, the Von Neumann architecture is still used today. In fact, even after more than four decades of its creation, it is considered to be the basic foundation of most modern computers.
This is mainly due to the fact that the Von Neumann architecture is based on the stored-program concept.
In modern computers, data and programs are typically stored in the memory, which is considered to be a separate storage unit and are treated equally.
A few instances where the Von Neumann architecture is used are:
- Laptop computers
- Personal computers
- Workstation computers
- It simplifies the design of a microcontroller chip since it uses only one memory.
- It offers more flexibility while fetching data and instructions.
- The control unit is cheaper.
- It is quicker to design and develop.
- It is organized by the programmers.
- It allows full utilization of memory.
- Data and instructions are executed in it one at a time.
- If there is an error in the programming, it may lead to rewriting instructions.
- It restricts parallel implementation of programs due to serial processing of data and instructions.
- It is known to have ‘Von Neumann Bottleneck.’
- Its speed is limited to the speed of the CPU retrieving data and instructions from the memory.
Von Neumann Architecture Vs Harvard Architecture
- The design of the Von Neumann architecture is simpler in comparison to the design of the Harvard architecture.
- In terms of usage, the Von Neumann architecture is not as widely used as the Harvard architecture because the latter solves the bottleneck issue of the former.
- The Von Neumann architecture uses one shared memory, but in comparison, the Harvard architecture uses two separate memories.
- While the Von Neumann architecture does not allow parallel access to the instructions and data, the Harvard architecture allows it.
- The performance level of the Von Neumann architecture is not as high as the Harvard architecture.
- Due to the difference in the number of memories, the Von Neumann architecture is a bit slower in comparison to the Harvard architecture.
- The Von Neumann architecture is a relatively older technology in comparison to the Harvard architecture.
- The Von Neumann architecture is designed on the basis of the stored-program concept, but in comparison, the Harvard architecture is based on the Harvard Mark I relay model.
- In Von Neumann architecture, a common bus is used to transfer data and instructions. On the other hand, in the Harvard architecture, separate buses are used for the same.
- In the Von Neumann architecture a single instruction needs two cycles to be executed. On the other hand, in the Harvard architecture a single cycle can execute one instruction.
- The Von Neumann architecture is relatively cheaper in cost as compared to the Harvard architecture.
- In the Von Neumann model, the Central Processing Unit cannot access read/write and instructions at the same time, but in comparison, it is possible in the Harvard architecture.
- The Von Neumann architecture is typically used in personal and small computer systems. On the other hand, the Harvard architecture is typically used in signal processing and microcontrollers.
- The Von Neumann architecture needs less hardware support, but in comparison, the Harvard architecture needs more hardware support.
- The Von Neumann architecture needs much less space as compared to the Harvard architecture.
- There is no wastage of space in the Von Neumann architecture because the instruction memory can use the unused space of the data memory and vice versa. It is not possible with the Harvard architecture.
- The controlling process is simpler in the Von Neumann architecture because it fetches only data or instruction at one time, but it is complex in the Harvard architecture since data and instructions are fetched simultaneously.
What is Von Neumann Architecture Based on?
Von Neumann architecture is typically based on the stored-program concept. In this technique, the data and instructions are stored in the same memory.
The Von Neumann architecture is the foundation of the modern computing systems that consist of a CPU, memory, registers, I/O and others.
It is efficient and useful, as you have come to know from this article.
Though it lags in a few aspects in comparison to the Harvard architecture, it is still quite worthy.