22/317
2 - How does a typical microcontroller work?
The microcontroller has thus to handle two different kinds of things related to memory: the pro-
gram, made of numbers that encodes the programming language instructions, and the data,
that are what the calculations act on, and the result of these calculations. Although they are
both mere numbers, they have completely different functions. Also, the characteristics of the
storage are different: while the program must be kept unchanged throughout the life of the
product, the data continuously change. This calls for a non-volatile, read only memory in the
first case, and a read-write memory that may or may not be volatile in the second case.
The difference in roles of these two memories has led to two different approaches in the
memory architecture:
The first one, named «Von Neumann» after the name of its inventor, provides only one ad-
dressable space. The program and the data are only distinguished by the address they oc-
cupy in this space. The ST7 belongs to this category:
02-vonne
0000h
FFFFh
Interrupt &
reset vectors
Program
memory
space
Data
memory
space
017Fh
RAM
E000h
ROM
(Not used)
Core
Memory
bus
16
ST72251 memory space
a Von Neumann architecture
FFE0h