Cuauhtmoc Carbajal Cuauhtmoc Carbajal Reference: Barry & - - PowerPoint PPT Presentation

cuauht moc carbajal cuauht moc carbajal
SMART_READER_LITE
LIVE PREVIEW

Cuauhtmoc Carbajal Cuauhtmoc Carbajal Reference: Barry & - - PowerPoint PPT Presentation

Cuauhtmoc Carbajal Cuauhtmoc Carbajal Reference: Barry & Crowley, Modern Embedded Computing: Designing Connected, Pervasive, Media-Rich Systems , Morgan Kaufmann, 2012. Introduction Most classes of electronics are becoming


slide-1
SLIDE 1

Cuauhtémoc Carbajal Cuauhtémoc Carbajal

Reference:

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

slide-2
SLIDE 2
  • Most classes of electronics are becoming embedded

systems Consequences 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

slide-3
SLIDE 3
  • 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

  • f its design constraints and tradeoffs.

What is an Embedded System?

slide-4
SLIDE 4
  • 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 power management 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 reliably and deterministically.

Constraints

slide-5
SLIDE 5
  • 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?

slide-6
SLIDE 6
  • Internet connectivity enables

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

Internet Connectivity

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

slide-7
SLIDE 7
  • What range of embedded

systems exists?

slide-8
SLIDE 8
  • Examples

Cell phone Printer Automobile: engine, brakes, dash, etc. Airplane: engine, flight controls, nav/comm. Digital television Household appliances

8

slide-9
SLIDE 9
  • 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

slide-10
SLIDE 10
  • 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

slide-11
SLIDE 11
  • Biomedical embedded systems

11

slide-12
SLIDE 12
  • Modern transportation systems

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

12

slide-13
SLIDE 13
  • Military HPEC applications

TFLOPS = Trillion Floating Point Operations per Second UAV: Unmanned aerial vehicle SBR: Spectral band replication

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

13

slide-14
SLIDE 14
  • Characteristics of embedded

systems

Sophisticated functionality Real-time operation Low manufacturing cost Low power Designed to tight deadlines by small teams

14

slide-15
SLIDE 15
  • 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

slide-16
SLIDE 16
  • 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

  • perations at widely varying rates.

Prime example: multimedia

Audio and video run at very different rates

16

slide-17
SLIDE 17
  • 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

slide-18
SLIDE 18
  • 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

slide-19
SLIDE 19
  • 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

slide-20
SLIDE 20
  • 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

slide-21
SLIDE 21
  • 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+software for everything else.

21

slide-22
SLIDE 22
  • 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

slide-23
SLIDE 23
  • 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

slide-24
SLIDE 24
  • 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

slide-25
SLIDE 25
  • Challenges, etc.

Does it really work? The dependability issue

Is 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

slide-26
SLIDE 26
  • 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

slide-27
SLIDE 27
  • Characterizing performance

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

CPU Platform Program Task Multiprocessor

27

slide-28
SLIDE 28
  • Design methodologies

A procedure for designing a system Understanding 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

slide-29
SLIDE 29
  • Design goals

Performance

Overall speed, deadlines

Functionality and user interface Manufacturing cost Power consumption Other requirements (physical size, etc.)

29