Site Tools


harvard-architecture

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
harvard-architecture [May 16, 2026 at 17:51] Ivan Janevskiharvard-architecture [May 16, 2026 at 17:56] (current) Ivan Janevski
Line 2: Line 2:
 **Harvard archictecture** is a type of computer archictecture. It's a type of architecture where code and data are kept in separate memories. **Harvard archictecture** is a type of computer archictecture. It's a type of architecture where code and data are kept in separate memories.
  
-The Harvard architecture can be contrasted against von-Neumann archictecture. In the latter, code and data are both stored in the same working memory (RAM). The CPU has to fetch instructions and data by accessing the same bus, leading to what is known as von-Neumann bottleneck. This doesn't really matter, of course -- virtually all modern architectures (x86-64, RiscV, ARM, Apple M1, etc.) are von-Neumann architecturesbecause the von-Neumann architecture allows the computer to modify its own behavior on the fly.+The Harvard architecture can be contrasted against von-Neumann archictecture. In the latter, code and data are both stored in the same working memory (RAM). The CPU has to fetch both the instructions and data by accessing the same memory bus, leading to what is known as von-Neumann bottleneck. This doesn't really matter, of course -- virtually all modern architectures (x86-64, RiscV, ARM, Apple M1, etc.) are von-Neumann architectures. This is laregely because the von-Neumann architecture allows the computer to modify its own behavior on the fly and the von-Neumann bottleneck itself is mitigated by layered caching, branch prediction and many other techniques.
  
-For comparison, Harvard architecture splits data and code into two different memories. For example, data is stored on RAM or EEPROM, while code is stored on flash memory. This makes it popular in microcontrollers (MCUs) like PIC. You flash an MCU onceand it always behaves the same way. The MCU usually has no way to modify its own code.+For comparison, Harvard architecture splits data and code into two different memories. For example, data can be stored in RAM or EEPROM, while code is stored in flash memory. This makes it popular in microcontrollers (MCUs) like PIC. You flash an MCU once and it always behaves the same way. The MCU usually has no way to modify its own code so it's slightly more immune to errors and hacking.
harvard-architecture.1778953860.txt.gz · Last modified: by Ivan Janevski