embedded systems landscape - homepage....

29
Cuauhtémoc Carbajal Cuauhtémoc Carbajal Reference: Barry & Crowley, Modern Embedded Computing: Designing Connected, Pervasive, Media-Rich Systems, Morgan Kaufmann, 2012.

Upload: lenhan

Post on 16-Jun-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Cuauhtémoc CarbajalCuauhtémoc Carbajal

Reference:Barry & Crowley, Modern Embedded Computing: Designing Connected, Pervasive, Media-Rich Systems, Morgan Kaufmann, 2012.

Most classes of electronics are becoming embedded systemsConsequences of this trend

There will be a great many more embedded systems in the future than there have been in the past, so skilled designers and programmers have a future of stable employment ahead of them. From a technical perspective, the nature of embedded systems design is changing to reflect the large numbers of systems that are connected and have rich media interfaces.

In this course, you will explore the design of modern embedded systems and learn many of the principles and skills needed to develop and program them effectively.

Introduction

Any device that includes a programmable computer but is not itself a general-purpose computer.Embedded systems are stand alone computing devices usually dedicated to performing limited computing functions reliably, securely and with minimum upkeep costs.

The intended use of an embedded system drives many of its design constraints and tradeoffs.

What is an Embedded System?

The size and physical form factor are often a natural consequence of a system’s intended use.Embedded systems have historically been designed with comparatively aggressive dynamic powermanagement mechanisms.Embedded systems are typically designed and deployed with a relatively static and predetermined set of system resources and features.Most embedded systems are parts of devices or infrastructure and are expected to function reliablyand deterministically.

Constraints

It’s easy for many to accept without argument that all electronics will be connected and software based. But why is this so?Technological progress in the presence of genuine commercial competition demands that, over time, new products increase in value while maintaining, or reducing, the price for those products.

Only economically sustainable if new features can be developed and deployed profitably. How? Reuse!No technology enables reuse quite like software.

Software-defined feature sets enable electronics of all kinds to exhibit qualitatively superior cost savings relative to hardware-based feature sets.

Why is this transition inevitable?

Internet connectivity enablesnew features in deployed systems, communications-oriented activities;the command and control of deployed electronics.

Internet Connectivity

Video: The Internet of Thingshttp://www.youtube.com/watch?v=sfEbMV295Kk

What range of embedded systems exists?

Examples

Cell phonePrinterAutomobile: engine, brakes, dash, etc.Airplane: engine, flight controls, nav/comm.Digital televisionHousehold appliances

8

Application examples

Simple control: front panel of microwave oven, etc.Canon EOS 3 has three microprocessors.

32-bit RISC CPU runs autofocus and eye control systems.

Digital TV: programmable CPUs + hardwired logic for video/audio decode, menus, etc.

9

Automotive embedded systems

Today’s high-end automobile may have 100 microprocessors:

4-bit microcontroller checks seat belt;microcontrollers run dashboard devices;16/32-bit microprocessor controls engine.

10

Biomedical embedded systems

11

Modern transportation systems

Embedding computing system design skills are useful for many types of systems.

12

Military HPEC applications

TFLOPS = Trillion Floating Point Operations per SecondUAV: Unmanned aerial vehicleSBR: Spectral band replication

High Performance Embedded Computing Handbook - A Systems Perspective - Martinez (2008)

13

Characteristics of embedded systems

Sophisticated functionalityReal-time operationLow manufacturing costLow powerDesigned to tight deadlines by small teams

14

Functional complexity

Often have to run sophisticated algorithms or multiple algorithms.

Automobile engine control: performance optimization while minimizing pollution and fuel utilization

Often provide sophisticated user interfaces.Moving maps in GPS

15

Real-time operation

Must finish operations by deadlines.Hard real time: missing deadline causes failure.Soft real time: missing deadline results in degraded performance.

Many systems are multi-rate: must handle operations at widely varying rates.

Prime example: multimediaAudio and video run at very different rates

16

Non-functional requirements

Many embedded systems are mass-market items that must have low manufacturing costs.

Limited memory, microprocessor power, etc.Power consumption is critical in battery-powered devices.

Excessive power consumption increases system cost even in wall-powered devices.

17

Design teams

Often designed by a small team of designers.Often must meet tight deadlines.

6 month market window is common.Can’t miss back-to-school window for calculator.

18

Why use microprocessors?

Alternatives: field-programmable gate arrays (FPGAs), custom logic, etc.Microprocessors are often very efficient: can use same logic to perform many different functions.Microprocessors simplify the design of families of products.

19

The performance paradox

Microprocessors use much more logic to implement a function than does custom logic.But microprocessors are often at least as fast:

heavily pipelined;large design teams;aggressive VLSI technology. CORTEX-A8 Processor Based

Mobile Core

20

Power

Custom logic uses less power, but CPUs have advantages:

Modern microprocessors offer features to help control power consumption.Software design techniques can help reduce power consumption.

Heterogeneous systems: some custom logic for well-defined functions, CPUs+softwarefor everything else.

21

Platforms

Embedded computing platform: hardware architecture + associated software.Many platforms are multiprocessors.Examples:

Single-chip multiprocessors for cell phone baseband.Automotive network + processors.

The cell phone may, in fact, be the next computing platform…22

The physics of software

Computing is a physical act.Software doesn’t do anything without hardware.

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.

23

Challenges in embedded system design

How much hardware do we need?How big is the CPU? Memory?

How do we meet our timing specifications?Faster hardware or cleverer software?

How do we minimize power?Turn off unnecessary logic? Reduce memory accesses? Reduce clock frequency?

24

Challenges, etc.

Does it really work? The dependability issueIs the specification correct?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?

25

What does “performance” mean?

In general-purpose computing, performance often means execution time or throughput, may not be well-defined.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.

26

Characterizing performance

We need to analyze the system at several levels of abstraction to understand performance:

CPUPlatformProgramTaskMultiprocessor

27

Design methodologies

A procedure for designing a systemUnderstanding your methodology helps 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.

Make it much easier for members of a design team to communicate

28

Design goals

PerformanceOverall speed, deadlines

Functionality and user interfaceManufacturing costPower consumptionOther requirements (physical size, etc.)

29