Harvard Vs Von Neumann Architecture
Harvard Architecture was used earlier, and Von Neumann Architecture is currently used now a days. Let’s see Harvard Vs Von Neumann Architecture.
Harvard Architecture
Harvard Architecture was introduced in 1939. According to this architecture, Instructions and data are in two different memories. Data will be in one memory, and instruction will be in another memory. It requires extra hardware. As Harvard architecture contains two memories, it uses separate buses for data and separate buses for instructions.
Normally, Flash memory is used as program memory, and SRAM or EEPROM is used as Data memory.
Von Neumann Architecture
The von Neumann architecture is a computer architecture made in 1945 by physicist John von Neumann. According to Von Neumann’s Architecture, Instruction and data are kept in the same memory.
- Data: All variables and constants, i.e., int a=2, b=3, etc, are data.
- Program: Programs are sets of instructions that are used to perform actions on data. i.e., ADD, SUB, MOVE, etc.
This design is still used in almost all computers used today. This architecture contains three main components.
- i. Main Memory: It is single primary storage, i.e. RAM.
- ii. CPU: CPU includes the ALU, CU, and Registers to execute the instructions.
- iii. I/O devices: Input devices enter the data or instructions into the system, and Output devices display the corresponding results. The keyboard and mouse are input devices, and Monitor is an Output device.
Note: Von Neumann architecture is also known as Stored Program computer
Comparison in Harvard Vs. Von Neumann Architecture
Here is a comparison table of Harvard Architecture vs Von Neumann Architecture architecture. Lets see major key points of comparison
Point of Comparison | Von Neumann Architecture | Harvard Architecture |
Arrangement |
It has only one memory for both data and Program instructions. | It has two separate memories, one for data and the other for Program instructions. |
Hardware Requirements | Requires less hardware. It also requires cache memory because it uses Single memory and memory buses. | Requires more hardware. Because it uses separate memory and memory buses, it does not require cache memory. |
Speed of execution | The speed of execution is slower since it cannot fetch the data and instructions at the same time. Fetching the instructions and transferring data can’t be performed at the same time. | Speed of execution is faster because the processor fetches data and instructions simultaneously. Because data transfer and instruction fetch can be performed at the same time. |
Space requirements | It Requires less space as “empty memory” of data can be used by instructions and vice versa. | It Requires More space as “empty memory” of data cannot be used by instructions and vice versa. |
Controlling | The speed of execution is slow. So, It uses registers to speed up. | Speed of execution is fast. |
Execution | Its execution is simple | Its execution is Complex. |
Environment | It is better for desktop computers, laptops, workstations, and high-performance computers. | It is mostly used in microcontrollers and signal processing (DSP). |
In the next lecture, we will see the common bus system, which is very important in computer organization.