23/317
2 - How does a typical microcontroller work?
The second one, named «Harvard», provides separate addressing spaces for the program
and data. No instruction can thus write anything into the program space, protecting the pro-
gram from accidental changes and doubling the total addressing range. Examples of this ar-
chitecture are the ST6, the ST9, and the 8051:
02-harvd
2.2.3 Input-Outputs
Often called peripherals, these are the point of contact between the system and the reality that
surrounds it and that the system is supposed to interact with. As stated above, the data from
and to the outside world are often of the analog type, and must be translated back and forth so
that the system, that is fully numeric, can process them. The peripherals can be just input-
output gates, for some data that are of the numeric type in the external world; or they can be
somewhat complicated, if the data is either analog, or numeric but conforming to some strin-
gent timing pattern. All the translation job performed by the peripherals saves the equivalent
load to the CPU. So the total throughput of a system does not merely rely on the power of the
CPU, but also on the efficiency of the peripherals.
000h
FFFh
Interrupt &
reset vectors
Program
memory
space
Core
Program
memory
bus
12
Data
memory
bus
8
00h
FFh
Data
memory
space
ROM
(EPROM)
RAM
ST6 memory spaces :
a Harvard architecture