Introduction to
Embedded Systems
Semicon Solutions
Computing Systems
•
Desktop
–
PC, Workstations, Laptops
•
Servers
–
Tier-0: network appliance
–
Tier-1: webserver
–
Tier-2: application/database server
–
File servers, Storage-area-network
•
Embedded Systems
–
PDA
–
Cellphone
–
Routers
–
Microcontrollers
Embedded?
•
Computing system embedded within
electronic devices.
•
Combination of computer hardware and
software designed to performance a
specific function.
•
Any computing system that is not a
desktop computer nor a server.
Area of Applications
•
General purpose
–
PDA
•
Control systems
–
Electronics, Automotive
•
Signal processing
–
Media player, Camera
•
Communication
–
Cellphone, switch
Market
•
Average household uses ~225 embedded
processors; about 35 for automobile
•
Estimated 5 billion embedded processors
in use
–
94% share of world market
–
6%: Pentium, PowerPC, etc.
[Source: World Semiconductor Trade Statistics Bluebook]
Key Issues
User’s Point of View
•
Single function/application
–
Dedicated to specific type of tasks
•
Tight constraints
–
Size
–
Power
–
Cost
–
Time-to-market
•
Real-time
–
Respond to environment in real time
•
Safety/Reliability
–
Failure can result in critical damages
Key Issues
Developer’s Point of View
•
Concurrent development of HW and SW,
i.e. HW/SW codesign
•
Wide selection of uP’s.
•
Wide selection of OS, mostly real time
(RTOS)
•
Few system resources
•
Specialized development tools
•
Debugging skills important
•
Robust HW/SW
Example
Elements
Trends
•
High level of integration
–
System-on-chip (SoC)
–
Multiprocessor System-on-Chip (MPSoC)
•
HW/SW co-design
–
Concurrent development
–
Optimization
•
Design flow
–
Design tools
–
Experiences
Microcontroller
•
Usually a simple uP plus
peripheral support devices
integrated in a single
package
SoC
•
A uP plus peripheral
support devices
integrated in a single
chip
•
E.g. Intel StrongARM
•
SoC vs uController?
SoC Design
•
Intellectual Property (IP)
–
Circuits or cores pre-deisgned/pre-verified for
certain functions
–
Implications:
•
Lower design cost
•
Fast time-to-market
Requirements
•
Functional
–
Functions
–
I/O
•
Non-functional
–
Performance
–
Cost
–
Power consumption
–
Size/weight
Architecture
•
How to implement the specifications
–
Components
–
System structure
–
Hardware/software partitioning
•
HW/SW work together to solve a problem
•
Partitioning decided by
–
Performance
–
Flexibility
–
Cost
Architecture Design
Designing An Embedded
System
•
Understand the big picture
•
Understand the details
•
Design SW with
–
Real time constraints
–
Low power
–
Small code size
•
Domain-specific knowledge