Micro Controllers I
Micro Controllers I
Execute programs
Serial execution of instructions
Simple, Universal
Instruction execution engine: fetch/execute cycle
flow of control determined by modifications to program counter
instruction classes:
data: move, arithmetic and logical operations
control: branch, loop, subroutine call
interface: load, store from external memory
Traditional architecture goal: Performance
Caches
Branch prediction
Multiple/OOO issue
Programmed by user
New applications are developed routinely
General-purpose
must handle a wide ranging variety of applications
Interacts with environment through memory
all devices communicate through memory
DMA operations between disk and I/O devices
dual-ported memory (as for display screen)
oblivious to passage of time (takes all the time it needs)
Display
(with
CPU Memory dual-port
video RAM)
system bus
I/O
(serial line, Network
keyboard, Disk Interface
mouse)
medium-speed low-speed
interactions interactions
Microcontroller
I/O custom
Interface ROM RAM logic
high-speed
interactions
RD
WR ADDR
OE decoder
CPU WAIT RD
to data bus
OUT
ADDR
DATA IN from environment
RD
WR ADDR
decoder EN
Micro- WAIT WR
processor
OUT to environment
ADDR
DATA DATA IN
Input capture
record precise time when input event occurred
to be used in later handling of event
Output compare
set output to happen at a point in the future
reactive outputs – set output to happen a pre-defined
time after some input
processor can go on to do other things in the meantime