Difference Between Von Neumann and Harvard Architecture

VON Neumann Vs Harvard Architecture

VON Neumann Architecture:

Before answering what is the difference between the Von Neumann and Harvard Architecture lets see what are their definitions. VON Neumann is a computer architecture that was described by mathematician and physicist John Von Neumann. He gave his design in 1945. This is an old architecture and is not entertained today.

The key elements of von Neumann architecture are instructions are fetched from memory one at a time and in order the processor decodes and executes an instruction, before cycling around to fetch the next instruction. the cycle continues until no more instructions are available.

Same physical memory address is used for instructions and data.

Its block diagram is given as:

VON Neumann Architecture
VON Neumann Architecture

Harvard Architecture:

Harvard architecture is newer version of these architects, and it is widely used today. As it has a single path used for all its components. That’s make it more compatible for everyday use.

Separate physical memory address is used for instructions and data.

The Harvard architecture stores machine instructions and data in separate memory units that are connected by different busses. In this case, there are at least two memory address spaces to work with, so there is a memory register for machine instructions and another memory register for data.

Its block diagram is given as:

Harvard Architecture
Harvard Architecture

What are the Major Differences Between Von Neumann Architecture and Harvard Architecture?

Feature Von Neumann Architecture Harvard Architecture
Memory Structure Uses a single memory for both data and instructions. Has separate memories for data and instructions.
Bus System Uses a single bus for data and instructions. Uses separate buses for data and instructions.
Speed Slower due to the shared bus causing bottlenecks (Von Neumann bottleneck). Faster due to parallel data and instruction fetching.
Complexity Simpler design and cost-effective. More complex and expensive due to separate memory units.
Execution Speed Slower because instructions and data share the same memory access. Faster because instructions and data can be accessed simultaneously.
Memory Access Sequential access (one at a time). Parallel access (simultaneous fetching of instructions and data).
Flexibility More flexible; easier to modify program instructions. Less flexible; modifying instruction memory is harder.
Used In General-purpose computers, PCs, laptops. Embedded systems, microcontrollers, DSPs.
Example Processors Intel x86, ARM Cortex-A series. PIC microcontrollers, ARM Cortex-M series.

 

Also read here

https://eevibes.com/computing/what-are-the-challenges-in-embedded-systems-design/

What are the Challenges in Embedded Systems Design?

Leave a Reply

Your email address will not be published. Required fields are marked *