You will learn the differences between Von Neumann Architecture vs Harvard Architecture in this article.
In the Von Neumann architecture, programs and data are stored in the same shared memory, access is made via a single bus, and the operations are controlled by a program control unit. Fetching and execution cycles are handled by the Von Neumann processor.
In both instructions and data, Harvard architecture provides separate paths for storage and signaling. By contrast, the von Neumann architecture uses the same memory and pathways for data and instructions.
Differences Between Von Neumann Architecture vs Harvard Architecture
Harvard Architecture
- Harvard originated from the Harvard Mark I relay based computer.
- The data and program memories are separate.
- Two sets of address/data buses between CPU and Memory.
- The separate buses for instruction and data fetching.
- The CPU can both read and instruction and perform a data memory access at the same time, even without cache.
- Easier to pipeline, so high performance can be achieved.
- It comparatively cost high.
- No memory alignment problems.
- Since data memory and program memory and stored physically in different locations, no changes for accidental corruption of program memory.
Von-Neumann Architecture
- Named after the mathematician and early computer scientist John Von Neumann.
- The data and program are stored in the same memory.
- A single set of address/data buses between CPU and Memory.
- Single shared bus for instructions and data fetching.
- Low performance compared to Harvard architecture.
- It’s cheaper than Harvard architecture.
- Allows self-modifying codes.
- Since data memory and program memory are stored physically in the same chip, chances for accidental corruption of program memory.
- Reading an instruction or reading/writing data from/to the memory. Both cannot occur at the same time.