embedding a computer exampleswatis/courses/198420/slide002.pdfcyber-physical systems a physical...

12
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 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 embedded computer 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.

Upload: others

Post on 06-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Embedding a computer Exampleswatis/courses/198420/slide002.pdfCyber-physical systems A physical system that tightly interacts with a computer system. Computers replace mechanical controllers:

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.

Page 2: Embedding a computer Exampleswatis/courses/198420/slide002.pdfCyber-physical systems A physical system that tightly interacts with a computer system. Computers replace mechanical controllers:

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.

Page 3: Embedding a computer Exampleswatis/courses/198420/slide002.pdfCyber-physical systems A physical system that tightly interacts with a computer system. Computers replace mechanical controllers:

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.

Page 4: Embedding a computer Exampleswatis/courses/198420/slide002.pdfCyber-physical systems A physical system that tightly interacts with a computer system. Computers replace mechanical controllers:

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.

Page 5: Embedding a computer Exampleswatis/courses/198420/slide002.pdfCyber-physical systems A physical system that tightly interacts with a computer system. Computers replace mechanical controllers:

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.

Page 6: Embedding a computer Exampleswatis/courses/198420/slide002.pdfCyber-physical systems A physical system that tightly interacts with a computer system. Computers replace mechanical controllers:

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.

Page 7: Embedding a computer Exampleswatis/courses/198420/slide002.pdfCyber-physical systems A physical system that tightly interacts with a computer system. Computers replace mechanical controllers:

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.)

Page 8: Embedding a computer Exampleswatis/courses/198420/slide002.pdfCyber-physical systems A physical system that tightly interacts with a computer system. Computers replace mechanical controllers:

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.

Page 9: Embedding a computer Exampleswatis/courses/198420/slide002.pdfCyber-physical systems A physical system that tightly interacts with a computer system. Computers replace mechanical controllers:

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.

Page 10: Embedding a computer Exampleswatis/courses/198420/slide002.pdfCyber-physical systems A physical system that tightly interacts with a computer system. Computers replace mechanical controllers:

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.

Page 11: Embedding a computer Exampleswatis/courses/198420/slide002.pdfCyber-physical systems A physical system that tightly interacts with a computer system. Computers replace mechanical controllers:

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

Page 12: Embedding a computer Exampleswatis/courses/198420/slide002.pdfCyber-physical systems A physical system that tightly interacts with a computer system. Computers replace mechanical controllers:

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.