Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Computers as Components 3e
© 2012 Marilyn Wolf
Definition
output analog
input analog
CPU
mem
embedded
computer
Computers as Components 3e
© 2012 Marilyn Wolf
Examples
Cell phone.
Printer.
Automobile: engine, brakes, dash, etc.
Airplane: engine, flight controls,
nav/comm.
Digital television.
Household appliances.
Computers as Components 3e
© 2012 Marilyn Wolf
Early history
Computers as Components 3e
© 2012 Marilyn Wolf
Microprocessor varieties
Computers as Components 3e
© 2012 Marilyn Wolf
Application examples
Computers as Components 3e
© 2012 Marilyn Wolf
Automotive embedded
systems
Computers as Components 3e
© 2012 Marilyn Wolf
BMW 850i brake and
stability control system
Computers as Components 3e
© 2012 Marilyn Wolf
BMW 850i, cont’d.
sensor sensor
brake brake
hydraulic
ABS
pump
brake brake
sensor sensor
Computers as Components 3e
© 2012 Marilyn Wolf
Characteristics of
embedded systems
Sophisticated functionality.
Real-time operation.
Low manufacturing cost.
Low power.
Designed to tight deadlines by small
teams.
Computers as Components 3e
© 2012 Marilyn Wolf
Functional complexity
Computers as Components 3e
© 2012 Marilyn Wolf
Real-time operation
Computers as Components 3e
© 2012 Marilyn Wolf
Non-functional
requirements
Computers as Components 3e
© 2012 Marilyn Wolf
Why use microprocessors?
Computers as Components 3e
© 2012 Marilyn Wolf
The performance paradox
Computers as Components 3e
© 2012 Marilyn Wolf
Cyber-physical systems
Computers as Components 3e
© 2012 Marilyn Wolf
The physics of software
Computers as Components 3e
© 2012 Marilyn Wolf
Challenges, etc.
Performance.
Overall speed, deadlines.
Functionality and user interface.
Manufacturing cost.
Power consumption.
Other requirements (physical size, etc.)
Computers as Components 3e
© 2012 Marilyn Wolf
Levels of abstraction
requirements
specification
architecture
component
design
system
integration
Computers as Components 3e
© 2012 Marilyn Wolf
Top-down vs. bottom-up
Top-down design:
start from most abstract description;
work to most detailed.
Bottom-up design:
work from small components to big system.
Real design uses both techniques.
Computers as Components 3e
© 2012 Marilyn Wolf
Stepwise refinement
Computers as Components 3e
© 2012 Marilyn Wolf
Requirements
Computers as Components 3e
© 2012 Marilyn Wolf
Functional vs. non-
functional requirements
Functional requirements:
output as a function of input.
Non-functional requirements:
time required to compute output;
size, weight, etc.;
power consumption;
reliability;
etc.
Computers as Components 3e
© 2012 Marilyn Wolf
Our requirements form
name
purpose
inputs
outputs
functions
performance
manufacturing cost
power
physical size/weight
Computers as Components 3e
© 2012 Marilyn Wolf
Example: GPS moving map
requirements
Moving map
obtains position I-78
from GPS, paints
Scotch Road
map from local
database.
lat: 40 13 lon: 32 19
Computers as Components 3e
© 2012 Marilyn Wolf
GPS moving map needs
Computers as Components 3e
© 2012 Marilyn Wolf
GPS moving map
requirements form
name GPS moving map
purpose consumer-grade
moving map for driving
inputs power button, two
control buttons
outputs back-lit LCD 400 X 600
functions 5-receiver GPS; three
resolutions; displays
current lat/lon
performance updates screen within
0.25 sec of movement
manufacturing cost $100 cost-of-goods-
sold
power 100 mW
physical size/weight no more than 2: X 6:,
12 oz.
Computers as Components 3e
© 2012 Marilyn Wolf
Specification
Should include:
What is received from GPS;
map data;
user interface;
operations required to satisfy user requests;
background operations needed to keep the
system running.
Computers as Components 3e
© 2012 Marilyn Wolf
Architecture design
Computers as Components 3e
© 2012 Marilyn Wolf
Architecture design - cond
user
database interface
Computers as Components 3e
© 2012 Marilyn Wolf
GPS moving map hardware
architecture
memory
panel I/O
Computers as Components 3e
© 2012 Marilyn Wolf
GPS moving map software
architecture
user
timer
interface
Computers as Components 3e
© 2012 Marilyn Wolf
Designing hardware and
software components
The architectural description tells us what
components we need.
The component design effort builds those
components in conformance to the
architecture and specification.
Must spend time architecting the system
before you start coding.
Some components are ready-made, some
can be modified from existing designs,
Computers as Components 3e
others must be designed from scratch.
© 2012 Marilyn Wolf
Hardware: GPS receiver
Software: Topographic databases
Using standard software saves us design
time, give us a faster implementation for
specialized functions such as the data
decompression phase.
have to design the printed circuit board
that connects them.
Computers as Components 3e
© 2012 Marilyn Wolf
When creating these embedded software
modules, ensure that the system runs
properly in real time and that it doesn’t
take up more memory space than is
allowed.
As memory accesses are a major source
of power consumption – to be very careful
about how to read and write memory to
minimize power.
Computers as Components 3e
© 2012 Marilyn Wolf
System integration
Computers as Components 3e
© 2012 Marilyn Wolf
Summary