Exploring the Architecture of Microcontrollers: Von Neumann and Harvard Architectures
Architecture of Microcontroller
von Neumann Architecture
The von Neumann architecture, also known as the Von Neumann model or Princeton architecture, is a computer architecture based on the 1945 description by John von Neumann and others. It describes a design wherein data and programs are stored in the same memory. The initial design consists of a central processing unit (CPU) and a single separate storage element, typically a form of random access memory.
In the von Neumann architecture, the CPU consists of two main components: the arithmetic logic unit (ALU) and the control unit. The ALU can perform simple arithmetic and logic operations, such as addition, subtraction, multiplication and division, as well as comparison and other logical operations. The control unit is responsible for fetching instructions from memory, decoding them, and then executing them. It also controls data transfer between memory and the ALU.
Harvard Architecture
The Harvard architecture is an evolution of the von Neumann architecture. It is named after the Harvard Mark I computer, which was developed at Harvard University in the 1940s. The Harvard architecture is primarily characterized by two separate memories: a program memory and a data memory. The program memory stores instructions while the data memory stores variables, constants and other data.
A key advantage of the Harvard architecture is that instructions and data can be accessed simultaneously. This allows instructions to be fetched and executed at the same time, significantly increasing the speed and efficiency of the computer in comparison to the von Neumann architecture.