embedding a computer exampleswatis/courses/198420/slide002.pdfcyber-physical systems a physical...
TRANSCRIPT
Introduction
�What are embedded computing systems?
�Challenges in embedded computing system design.
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
system design.
�Design methodologies.
Definition
�Embedded computing system: any device that includes a programmable computer but is not itself a general-purpose computer.
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
computer.
�Take advantage of application characteristics to optimize the design:
don’t need all the general-purpose bells and whistles.
Embedding a computer
output analog
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
CPU
mem
input analog
embeddedcomputer
Examples
�Cell phone.
�Printer.
�Automobile: engine, brakes, dash, etc.
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
�Automobile: engine, brakes, dash, etc.
�Airplane: engine, flight controls, nav/comm.
�Digital television.
�Household appliances.
Early history
�Late 1940’s: MIT Whirlwind computer was designed for real-time operations.
Originally designed to control an aircraft simulator.
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
simulator.
�First microprocessor was Intel 4004 in early 1970’s.
�HP-35 calculator used several chips to implement a microprocessor in 1972.
Early history, cont’d.
�Automobiles used microprocessor-based engine controllers starting in 1980.
Control fuel/air mixture, engine timing, etc.
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
Multiple modes of operation: warm-up, cruise, hill climbing, etc.
Provides lower emissions, better fuel efficiency.
Microprocessor varieties
�Microcontroller: includes I/O devices, on-board memory.
�Digital signal processor (DSP):
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
�Digital signal processor (DSP):microprocessor optimized for digital signal processing.
�Typical embedded word sizes: 8-bit, 16-bit, 32-bit.
Application examples
�Simple control: front panel of microwave oven, etc.
�Canon EOS 3 has three microprocessors.
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
�Canon EOS 3 has three microprocessors.
32-bit RISC CPU runs autofocus and eye control systems.
�Digital TV: programmable CPUs + hardwired logic.
Automotive embedded
systems
�Today’s high-end automobile may have 100 microprocessors:
4-bit microcontroller checks seat belt;
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
microcontrollers run dashboard devices;
16/32-bit microprocessor controls engine.
�Low-end cars use 20+ microprocessors.
BMW 850i brake and
stability control system
�Anti-lock brake system (ABS): pumps brakes to reduce skidding.
�Automatic stability control (ASC+T):
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
�Automatic stability control (ASC+T):controls engine to improve stability.
�ABS and ASC+T communicate.
ABS was introduced first---needed to interface to existing ABS module.
BMW 850i, cont’d.
brake
sensor
brake
sensor
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
brake
sensor
brake
sensor
ABShydraulic
pump
Characteristics of
embedded systems
�Sophisticated functionality.
�Real-time operation.
�Low manufacturing cost.
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
�Low manufacturing cost.
�Low power.
�Designed to tight deadlines by small teams.
Functional complexity
�Often have to run sophisticated algorithms or multiple algorithms.
Cell phone, laser printer.
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
�Often provide sophisticated user interfaces.
Real-time operation
�Must finish operations by deadlines.
Hard real time: missing deadline causes failure.
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
Soft real time: missing deadline results in degraded performance.
�Many systems are multi-rate: must handle operations at widely varying rates.
Non-functional
requirements
�Many embedded systems are mass-market items that must have low manufacturing costs.
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
Limited memory, microprocessor power, etc.
�Power consumption is critical in battery-powered devices.
Excessive power consumption increases system cost even in wall-powered devices.
Design teams
�Often designed by a small team of designers.
�Often must meet tight deadlines.
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
�Often must meet tight deadlines.
6 month market window is common.
Can’t miss back-to-school window for calculator.
Why use microprocessors?
�Alternatives: field-programmable gate arrays (FPGAs), custom logic, etc.
�Microprocessors are often very efficient:
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
�Microprocessors are often very efficient: can use same logic to perform many different functions.
�Microprocessors simplify the design of families of products.
The performance paradox
�Microprocessors use much more logic to implement a function than does custom logic.
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
�But microprocessors are often at least as fast:
heavily pipelined;
large design teams;
aggressive VLSI technology.
Power
�Custom logic uses less power, but CPUs have advantages:
Modern microprocessors offer features to help control power consumption.
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
help control power consumption.
Software design techniques can help reduce power consumption.
�Heterogeneous systems: some custom logic for well-defined functions, CPUs+software for everything else.
Platforms
�Embedded computing platform: hardware architecture + associated software.
�Many platforms are multiprocessors.
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
�Many platforms are multiprocessors.
�Examples:
Single-chip multiprocessors for cell phone baseband.
Automotive network + processors.
Cyber-physical systems
� A physical system that tightly interacts with a computer system.
� Computers replace mechanical controllers:
More accurate.
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
More accurate.
More sophisticated control.
� Engine controllers replace distributor, carburetor, etc.
Complex algorithms allow both greater fuel efficiency and lower emissions.
The physics of software
�Computing is a physical act.
Software doesn’t do anything without hardware.
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
�Executing software consumes energy, requires time.
�To understand the dynamics of software (time, energy), we need to characterize the platform on which the software runs.
What does “performance”
mean?
�In general-purpose computing, performance often means average-case, may not be well-defined.
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
�In real-time systems, performance means meeting deadlines.
Missing the deadline by even a little is bad.
Finishing ahead of the deadline may not help.
Characterizing
performance
�We need to analyze the system at several levels of abstraction to understand performance:
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
CPU.
Platform.
Program.
Task.
Multiprocessor.
Challenges in embedded
system design
�How much hardware do we need?
How big is the CPU? Memory?
�How do we meet our deadlines?
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
�How do we meet our deadlines?
Faster hardware or cleverer software?
�How do we minimize power?
Turn off unnecessary logic? Reduce memory accesses?
Challenges, etc.
�Does it really work?
Is the specification correct?
Does the implementation meet the spec?
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
Does the implementation meet the spec?
How do we test for real-time characteristics?
How do we test on real data?
�How do we work on the system?
Observability, controllability?
What is our development platform?
Design methodologies
�A procedure for designing a system.
�Understanding your methodology helps you ensure you didn’t skip anything.
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
you ensure you didn’t skip anything.
�Compilers, software engineering tools, computer-aided design (CAD) tools, etc., can be used to:
help automate methodology steps;
keep track of the methodology itself.
Design goals
�Performance.
Overall speed, deadlines.
�Functionality and user interface.
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
�Functionality and user interface.
�Manufacturing cost.
�Power consumption.
�Other requirements (physical size, etc.)
Levels of abstraction
requirements
specification
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
architecture
componentdesign
systemintegration
Top-down vs. bottom-up
�Top-down design:
start from most abstract description;
work to most detailed.
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
work to most detailed.
�Bottom-up design:
work from small components to big system.
�Real design uses both techniques.
Stepwise refinement
�At each level of abstraction, we must:
analyze the design to determine characteristics of the current state of the design;
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
design;
refine the design to add detail.
Requirements
�Plain language description of what the user wants and expects to get.
�May be developed in several ways:
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
�May be developed in several ways:
talking directly to customers;
talking to marketing representatives;
providing prototypes to users for comment.
Functional vs. non-
functional requirements
�Functional requirements:
output as a function of input.
�Non-functional requirements:
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
�Non-functional requirements:
time required to compute output;
size, weight, etc.;
power consumption;
reliability;
etc.
Our requirements form
name
purpose
inputs
outputs
Computers as Components 3e© 2012 Marilyn Wolf
outputs
functions
performance
manufacturing cost
power
physical size/weight
Example: GPS moving map
requirements
�Moving map obtains position from GPS, paints map from local
I-78
Scot
ch R
oad
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
map from local database.
lat: 40 13 lon: 32 19
Scot
ch R
oad
GPS moving map needs
�Functionality: For automotive use. Show major roads and landmarks.
�User interface: At least 400 x 600 pixel screen. Three buttons max. Pop-up menu.
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
Three buttons max. Pop-up menu.
�Performance: Map should scroll smoothly. No more than 1 sec power-up. Lock onto GPS within 15 seconds.
�Cost: $120 street price = approx. $30 cost of goods sold.
GPS moving map needs,
cont’d.
�Physical size/weight: Should fit in hand.
�Power consumption: Should run for 8 hours on four AA batteries.
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
hours on four AA batteries.
GPS moving map
requirements form
name GPS moving map
purpose consumer-grademoving map for driving
inputs power button, twocontrol buttons
outputs back-lit LCD 400 X 600
Computers as Components 3e© 2012 Marilyn Wolf
functions 5-receiver GPS; threeresolutions; displayscurrent lat/lon
performance updates screen within0.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.
Specification
�A more precise description of the system:
should not imply a particular architecture;
provides input to the architecture design
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
provides input to the architecture design process.
�May include functional and non-functional elements.
�May be executable or may be in mathematical form for proofs.
GPS specification
�Should include:
What is received from GPS;
map data;
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
map data;
user interface;
operations required to satisfy user requests;
background operations needed to keep the system running.
Architecture design
�What major components go satisfying the specification?
�Hardware components:
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
�Hardware components:
CPUs, peripherals, etc.
�Software components:
major programs and their operations.
�Must take into account functional and non-functional specifications.
GPS moving map block
diagram
GPSreceiver
searchengine
renderer display
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
receiver engine
userinterfacedatabase
GPS moving map hardware
architecture
CPUdisplay framebuffer
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
GPSreceiver
panel I/O
buffer
memory
GPS moving map software
architecture
position databasesearch
rendererpixels
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
search
timeruser
interface
Designing hardware and
software components
�Must spend time architecting the system before you start coding.
�Some components are ready-made, some
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
�Some components are ready-made, some can be modified from existing designs, others must be designed from scratch.
System integration
�Put together the components.
Many bugs appear only at this stage.
�Have a plan for integrating components to
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
�Have a plan for integrating components to uncover bugs quickly, test as much functionality as early as possible.
Summary
�Embedded computers are all around us.
Many systems have complex embedded hardware and software.
Computers as Components 3e© 2012 Marilyn Wolf
Computers as Components 3e© 2012 Marilyn Wolf
�Embedded systems pose many design challenges: design time, deadlines, power, etc.
�Design methodologies help us manage the design process.