This is an old revision of the document!


Von Neumann vs Harvard Architectures, Mixed Architectures

The classical architecture of computers uses a single address and a single data bus to connect the processor, memory and peripherals. This architecture is called the von Neumann or Princeton architecture, and we showed it in Fig. 1. Additionally, in this architecture, the memory contains the code of programs and the data they use. This suffers from the drawback of not being able to access the program's instructions and the data to be processed simultaneously, a limitation known as the von Neumann bottleneck. The answer to this issue is the Harvard architecture, in which program memory is separated from data memory, and they are connected to the processor via two pairs of address and data buses. Of course, the processor must support such an architecture. The Harvard architecture we show in Fig. 2.

Block schematic of von Neumann architecture computer
Figure 1: Block schematic of von Neumann architecture computer
Block schematic of Harvard architecture computer
Figure 2: Block schematic of Harvard architecture computer

Harvard architecture is very often used in one-chip computers. It does not suffer from the von Neumann bottleneck and additionally allows implementing different data-word and instruction-word lengths. For example, the AVR 8-bit class family of microcontrollers has a 16-bit program word. PIC microcontrollers, also in the 8-bit class, have 13- or 14-bit instruction word lengths. In modern microcontrollers, the program is usually stored in internal flash reprogrammable memory, and data in internal static RAM memory. All interconnections, including address and data buses, are implemented internally, making the implementation of the Harvard architecture easier than in a computer based on the microprocessor. In several mature microcontrollers, the program and data memory are separated but connected to the processor unit with a single set of buses. It is named mixed architecture. This architecture benefits from an enlargement of the size of the possible address space, but still suffers from the von Neumann bottleneck. This approach can be found in the 8051 family of microcontrollers. The schematic diagram of mixed architecture we presented in Fig. 3.

Block schematic of mixed architecture computer
Figure 3: Block schematic of mixed architecture computer
en/multiasm/cs/chapter_3_2.1768031886.txt.gz · Last modified: 2026/01/10 09:58 by pczekalski
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0