Von Neumann Architecture
Harvard Architecture
Von Neumann vs Harvard Comparison
| Feature | Von Neumann | Harvard |
|---|---|---|
| Memory | Single memory for data & instructions | Separate memory for data & instructions |
| Buses | Shared data/instruction bus | Separate data and instruction buses |
| Fetch | Cannot fetch data & instruction simultaneously | Can fetch data & instruction simultaneously |
| Speed | Slower (bottleneck) | Faster (parallel fetching) |
| Complexity | Simpler, cheaper | More complex, expensive |
| Use | General-purpose computers | DSPs, microcontrollers, embedded systems |
Contemporary Processor Architecture
| Feature | How it improves on the standard Von Neumann design |
|---|---|
| Harvard-style memory | Separate areas of memory for instructions and data, such as separate instruction and data caches, let an instruction and its data be fetched at the same time |
| Pipelining | One instruction is fetched while the previous one is decoded and the one before that is executed |
| Cache | A small amount of very fast memory holds frequently used instructions and data, so the processor spends less time waiting for RAM |
| Multiple cores | Each core is a separate processing unit that can fetch, decode and execute its own instructions |