Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
139 views49 pages

Microcontrollers and Embedded Systems

Arab International University provides an overview of embedded systems and microcontrollers. It discusses the key characteristics of embedded systems including being single-functioned, tightly-constrained, and reactive in real-time to environmental changes. An example of a digital camera is provided to illustrate these characteristics. The document also outlines some common design challenge metrics for optimizing embedded systems such as unit cost, size, performance, and power. Finally, it introduces the three main technologies that are important for embedded system design: processor technology, integrated circuit technology, and design technology.

Uploaded by

Tarek Barhoum
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
139 views49 pages

Microcontrollers and Embedded Systems

Arab International University provides an overview of embedded systems and microcontrollers. It discusses the key characteristics of embedded systems including being single-functioned, tightly-constrained, and reactive in real-time to environmental changes. An example of a digital camera is provided to illustrate these characteristics. The document also outlines some common design challenge metrics for optimizing embedded systems such as unit cost, size, performance, and power. Finally, it introduces the three main technologies that are important for embedded system design: processor technology, integrated circuit technology, and design technology.

Uploaded by

Tarek Barhoum
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 49

Arab International University

Microcontroller
and Embedded
Systems

2019/2020
Dr Tarek Barhoum ١
characteristics of embedded systems
 Single-functioned
 Executes a single program, repeatedly
 Tightly-constrained
 Low cost, low power, small, fast, etc.
 Reactive and real-time
 Continually reacts to changes in the system’’s
environment
 Must compute certain results in real-time without delay

2
An embedded system example
a digital camera
Digital camera chip
CCD

CCD preprocessor Pixel coprocessor D2A


A2D

lens

JPEG codec Microcontroller Multiplier/Accum

DMA controller Display ctrl

Memory controller ISA bus interface UART LCD ctrl

 Single-functioned -- always a digital camera


 Tightly-constrained -- Low cost, low power, small, fast
 Reactive and real-time – to environment changes

3
Design challenge – optimizing
design metrics
 Common metrics
 Unit cost: the monetary cost of manufacturing each copy of the
system, excluding NRE cost
 NRE cost (Non-Recurrent Engineering cost): The one- time
monetary cost of designing the system
 Size: the physical space required by the system

 Performance: the execution time or throughput of the system

 Power: the amount of power consumed by the system


 Flexibility: the ability to change the functionality of the system
without incurring heavy NRE cost
4
Design challenge – optimizing
design metrics
 Common metrics (continued)
 Time-to-prototype: the time needed to build a working
version of the system
 Time-to-market: the time required to develop a system
to the point that it can be released and sold to customers
 Maintainability: the ability to modify the system
after its initial release
 Correctness, safety, many more
5
Three key embedded system
technologies
 Technology
 A manner of accomplishing a task, especially using technical
processes, methods, or knowledge
 Three key technologies for embedded system:
 Processor technology
 IC technology

 Design technology

6
General-purpose processors
Single-purpose processors
Application-specific processors
IC technology
 The manner in which a digital (gate-level)
implementation is mapped onto an IC
 IC: Integrated circuit, or “chip”
 IC technologies differ in their customization to a
design
 IC’’s consist of numerous layers (perhaps 10 or more)
 IC technologies differ with respect to who builds each layer and when
 The minimum length of a transistor characterizes IC technology

gate
IC package IC oxide
source chan
nel Silicon substrate

drain 10
IC technology

 4 types of IC technologies
 Full-custom VLSI
 Semi-custom ASIC (gate array and standard cell)

 PLD (Programmable Logic Device)

 FPGA (Field Programmable Gate Array)


Ful -custom/VLS

 All layers are optimized for an embedded system's


particular digital implementation
 Placing transistors
 Sizing transistors

 Routing wires

 Benefits
 Excellent performance, small size, low power
 Drawbacks
 High NRE cost (e.g., $300k), long time-to-market
Semi-custom

 Lower layers are fully or partially built


 Designers are left with routing of wires and maybe placing
some blocks
 Benefits
 Good performance, good size, less NRE cost than a full-
custom implementation (perhaps $10k to $100k)
 Drawbacks
 Still require weeks to months to develop
CPLD/FPGA

 All layers already exist


 Designers can purchase an IC
 Connections on the IC are either created or destroyed
to implement desired functionality
 Benefits
 Low NRE costs, almost instant IC availability
 Drawbacks
 Bigger, expensive (perhaps $30 per unit), power
hungry, slower
 Processo
 r Digital circuit that performs a computation tasks
 Controller and datapath
 General-purpose: variety of computation tasks Digital camera chip
CCD
 Custom single-purpose: non-standard task
CCD Pixel coprocessor D2A
A2D preprocessor

lens
 A custom single-purpose
processor may be (cf JPEG codec Microcontroller Multiplier/Accum

CMEN5500- advanced digital DMA controller Display


design course) ctrl
 Fast, small, low power
 But, high NRE, longer time-to-market,
less flexible Memory controller ISA bus interface UART LCD ctrl

٢
Introductio
 General-PurposenProcessor
 Processor designed for a variety of computation tasks
 Low unit cost, in part because manufacturer spreads NRE over
large numbers of units
 Motorola sold half a billion 68HC05 microcontrollers in 1996 alone
 Carefully designed since higher NRE is acceptable
 Can yield good performance, size and power
 Low NRE cost, short time-to-market/prototype, high
flexibility
 User just writes software; no processor design

٣
Microprocessor/Microcontroller
Architecture
 Basic computer : Von Neuman
1945
 contains
 Program and Data memory CU
 Central unit (CU)
 Program sequentially Address Data
executed
Memory
 Can be redirected (test)

٤
Microprocessor
CU
Processing Unit

Control ALU
Unit Register
file

Bus
address data
ROM RAM
Memory
program data
٥
Basic concepts
 Bus
 Fixed number of wires
 Connecting different blocs
 Inside and outside the processor @
 mono-directional as Address Data
Bus
 bidirectional as Data Bus
 One transmitter
 One or more receivers

٦
Basic concepts
 Memories
 Storage places
 Temporary : RAM
 Static SRAM MEMORY
 Dynamic DRAM
 Permanent
 Factory programmed :
ROM
 PROM
 EPROM
 EEPROM
 Serial
 Parallel
٧
Basic concepts
 Program
 Set of Instructions OpCod n
Ins
 Stored in program memory n
 Sequentially executed
Ins OpCod n+1
 Binary coded on one (or more) words n+1
 Operation Code(... ،- ،+)
 Operands Program
 Code length depends on
instruction and addressing mode Memory
 Program memory width is
word width

٨
General-purpose processor
more detailed
 Control unitarchitecture Processor
and datapath Control unit Datapath
 Note similarity ALU
to single- Controller Control
purpose /Status

processor (all Registers


hardwired)
 Key differences
 Datapath is PC IR

general
 Control unit I/O

doesn’t store the Memory


algorithm
– the algorithm is
“programmed”
into the memory ٩
Clocking concepts
 Frequency
 External : crystal
 frequency
Internal : Machine Cycle
 One divisor of
external frequency
 Why? processor
 Instruction execution crystal
steps
 Fetch
 Decode
 Execute
 Store

١٠
Datapath
 Load Operations Processor
 Read memory Control unit Datapath
location into ALU
register Controller Control +1
/Status
 ALU operation
 Input certain Registers

registers through
ALU, store back 10 11
in register PC IR

 Store
 Write register to I/O

memory Memory
...
10
location .1 1
.
.
١١
Control
 Control unit: configuresUnit
the datapath operations Processor
 Sequence of desired operations Control unit Datapath
(“instructions”) stored in
memory ALU
Controller
– “program” Control
/Status
 Instruction cycle – broken into
several sub-operations, each Registers
one clockGet
 Fetch: cycle,
nexte.g.:
instruction
into IR
 Decode: Determine what
the instruction means PC IR R0 R1
 Fetch operands: Move data
from memory to datapath
register I/O
 Execute: Move data through 100 load R0, M[500] Memory
...
the ALU 500 10
 Store results: Write data
101 inc R1, R0
501 ...
102 store M[501], R1
from register to memory

١٢
Instruction execution steps
S

fetch
decode execute
yes Operands? yes
Results?
fetch operands
no
no store

Next

١٣
Control Unit Sub-
 Operations
Fetch Processor
Control unit Datapath
 Get next ALU

instruction Controller Control


/Status

into IR
Registers
 PC: program
counter, PC 100 IR R0 R1
always points load R0, M[500]

to next I/O

instruction 100 load R0, M[500] Memory


...
500 10
101 inc R1, R0 501 ...
 IR:
fetche
holds the 102 store M[501], R1

dinstructio ١٤
Control Unit Sub-
 Operations
Decode Processor
Control unit Datapath
 Determine ALU

what the Controller Control


/Status

instruction
Registers
means
PC 100 IR R0 R1
load R0, M[500]

I/O

100 load R0, M[500] Memory


...
500 10
101 inc R1, R0
501 ...
102 store M[501], R1

١٥
Control Unit Sub-
 Operations
Fetch operands Processor
Control unit Datapath
 Move data ALU

from memory Controller Control


/Status

to datapath
Registers
register
10
PC 100 IR R0 R1
load R0, M[500]

I/O

100 load R0, M[500] Memory


...
500 10
101 inc R1, R0
501 ...
102 store M[501], R1

١٦
Control Unit Sub-
 Operations
Execute Processor
Control unit Datapath
 Move data ALU

through the Controller Control


/Status

ALU
Registers
 This particular
instruction PC 100 IR R0
10
R1
does nothing load R0, M[500]

during this I/O

sub- operation 100 load R0, M[500] Memory


...
500 10
101 inc R1, R0
501 ...
102 store M[501], R1

١٧
Control Unit Sub-
 Operations
Store results Processor
Control unit Datapath
 Write data ALU

from register Controller Control


/Status

to memory
Registers
 This particular
instruction PC 100 IR R0
10
R1
does nothing
load R0, M[500]

during this I/O

sub- operation 100 load R0, M[500] Memory


...
500 10
101 inc R1, R0
501 ...
102 store M[501], R1

١٨
Instruction
Cycles
PC=100 Processor
Fetch Decode Fetch Exec. Store Control unit Datapath
ops results ALU
clk Controller Control
/Status

Registers

10
PC 100 IRM[500] R0 R1
load R0,

I/O

100 load R0, M[500] Memory


...
500 10
101 inc R1, R0 501 ...
102 store M[501], R1

١٩
Instruction
Cycles
PC=100 Processor
Fetch Decode Fetch Exec. Store Control unit Datapath
ops results ALU
clk Controller Control +1
/Status

PC=101
Fetch Decode Fetch Exec. Store Registers

ops results
clk
10 11
PC 101 IR R0 R0 R1
inc R1,

I/O

100 load R0, M[500] Memory


...
500 10
101 inc R1, R0 501 ...
102 store M[501], R1

٢٠
Instruction
Cycles
PC=100 Processor
Fetch Decode Fetch Exec. Store Control unit Datapath
ops results ALU
clk Controller Control
/Status

PC=101
Fetch Decode Fetch Exec. Store Registers

ops results
clk
10 11
PC 102 IR R0 R1
store M[501], R1

PC=102
Fetch Decode Fetch Exec. Store
I/O
ops results ...
100 load R0, M[500] Memory
clk 500 10
101 inc R1, R0 501 ..
1 1
102 store M[501], R1 .

٢١
Architectural
 Considerations
N-bit processor Processor

 N-bit ALU, Control unit Datapath

ALU
registers, buses, Controller Control
memory data /Status

interface Registers

 Embedded: 8-bit,
16- bit, 32-bit
PC IR
common
 Desktop/servers:
I/O
32- bit, even 64 Memory

 PC size
determines
address space ٢٢
Architectural
 Considerations
Clock frequency Processor

 Inverse of Control unit Datapath

ALU
clock period Controller Control
/Status
 Must be longer
than longest Registers

register to
register delay in PC IR

entire processor
 Memory access I/O

is often the Memory

longest
٢٣
Pipelining: Increasing
Instruction
Wash 1 2 3 4 5 6 7
Throughput
8 1 2 3 4 5 6 7 8
Non-pipelined Pipelined
Dry 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8

non-pipelined dish cleaning pipelined dish cleaning


Time Time

Fetch-instr. 1 2 3 4 5 6 7 8

Decode 1 2 3 4 5 6 7 8

Fetch ops. 1 2 3 4 5 6 7 8 Pipelined

Execute 1 2 3 4 5 6 7 8
Instruction 1
Store res. 1 2 3 4 5 6 7 8

Time
pipelined instruction execution

٢٤
Two Memory
Architectures
Processor Processor
 Princeton
 Fewer
memory
wires
 (Von Newman
machine) Program Data memory Memory
(program and data)
 Harvard memory

 Separate buses
for data and Harvard Princeton
program
 Simultaneous
program and
data memory
access
٢٥
Cache
Memory
 Memory access may Fast/expensive technology, usually on
the same chip

be slow Processor

 Cache is small but


fast memory close to Cache

processor
 Holds copy of part
Memory
of memory
 Hits and misses Slower/cheaper technology, usually on
a different chip

٢٦
Application-Specific
Instruction- Set Processors
(ASIPs)
 General-purpose processors
 Sometimes too general to be effective in
demanding application
 e.g., video processing – requires huge video buffers and
operations on large arrays of data, inefficient on a GPP
 But single-purpose processor has high NRE,
not programmable
 ASIPs – targeted to a particular domain
 Contain architectural features specific to that
domain
 e.g., embedded control, digital signal processing, video
processing, network processing, telecommunications, etc.
 Still programmable
٢٧
A Common ASIP:
Microcontroller
 For embedded control applications
 Reading sensors, setting actuators
 Mostly dealing with events (bits): data is present, but not in huge
amounts
 e.g., VCR, disk drive, digital camera (assuming SPP for
image compression), washing machine, microwave oven
 Microcontroller features
 On-chip peripherals
 Timers, analog-digital converters, serial communication, etc.
 Tightly integrated for programmer, typically part of register
space
 On-chip program and data memory
 Direct programmer access to many of the chip’s pins
 Specialized instructions for bit-manipulation and other low-
level operations
٢٨
Peripheral
s
Modules that help
microprocessor
to
communicate with
the outside world ADC Decoder

 Independent or not
 Includes

world
processor Timer I/O
 I/O units
 Timers
 Addressing units UART USART
 USART
 A/D converters
 …
٢٩
Microprocessor vs.
 Microcontroller
Microprocessor microprocessor
CU
 Processing unit Processing unit

 Control unit Control ALU


unit reg

 Microcontroller
 microprocessor
address data
 data and program
Memory
memory
program
 I/O units data

 timers
Timers / UART / ADC ...
 USART/UART
microcontroller
 …

٣٠
Example : The AT
90S1200

• 0.8 um
• 2 layer Alu
• 24 mm2

٣١
Another Common ASIP:
Digital Signal Processors
(DSP)
 For signal processing applications
 Large amounts of digitized data, often streaming
 Data transformations must be applied fast
 e.g., cell-phone voice filter, digital TV, music
synthesizer
 DSP features
 Several instruction execution units
 Multiple-accumulate single-cycle instruction, other
instrs.
 Efficient vector operations – e.g., add two arrays
 Vector ALUs, loop buffers, etc.
٣٢
Processor
Classification
 Internal data bus width
 8 bits (8085, 89c51, 90s1200…)
 16 bits (8086…)
 32 bits (80486…)
 Architecture and instruction set
 CISC (89c51, 8085, 8086, 80486, 68000...)
 RISC (90s1200, 12c508, 16c54…)
 Limited number of instructions => faster
execution
 Superscalar (TMS32cxxx...)
 Parallel processing : several instructions at a time ٣٣
Processor
Classification
 Utilization
 General purpose : p
 Processing unit + control unit
 Control : c
 p + memories +
peripherals
 Digital signal processing :
DSP
 Special ALU
 Floating-point multiplier
 memories
 DMA ٣٤
Processor Examples
Processor Clock speed Periph. Bus Width MIPS Power Trans. Price
General Purpose Processors
Intel PIII 1GHz 2x16 K 32 ~900 97W ~7M $900
L1, 256K
L2, MMX
IBM 550 MHz 2x32 K 32/64 ~1300 5W ~7M $900
PowerPC L1, 256K
750X L2
MIPS 250 MHz 2x32 K 32/64 NA NA 3.6M NA
R5000 2 way set assoc.
StrongARM 233 MHz None 32 268 1W 2.1M NA
SA-110
Microcontroller
Intel 12 MHz 4K ROM, 128 8 ~1 ~0.2W ~10K $7
RAM, 32 I/O,
8051 Timer, UART
Motorola 3 MHz 4K ROM, 192 8 ~.5 ~0.1W ~10K $5
RAM, 32 I/O,
68HC811 Timer, WDT, SPI
Digital Signal Processors
TI C5416 160 MHz 128K, SRAM, 3 T1 16/32 ~600 NA NA $34
Ports, DMA, 13
ADC, 9 DAC
Lucent 80 MHz 16K Inst., 2K Data, 32 40 NA NA $75
DSP32C Serial Ports, DMA

Sources: Intel, Motorola, MIPS, ARM, TI, and IBM Website/Datasheet; Embedded Systems Programming, Nov. 1998

٣٥
Summar
 General-purposeyprocessors
 Good performance, low NRE, flexible
 Controller, datapath, and memory
 ASIPs
 Microcontrollers, DSPs, network processors,
more customized ASIPs
 Choosing among processors is an
important step

٣٦

You might also like