43
fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

Embed Size (px)

Citation preview

Page 1: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

fakultät für informatikinformatik 12

technische universität dortmund

Embedded System Hardware

Peter MarwedelInformatik 12TU Dortmund

Germany

2008/11/03

Page 2: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 2 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Structure of this course

New clustering

2: Specifications

3: Embedded System HW

4: Standard Software, Real-Time Operating Systems

5: Scheduling,HW/SW-Partitioning, Applications to MP-Mapping

6: Evaluation

8: Testing

7: Optimization of Embedded Systems

App

licat

ion

Kno

wle

dge

Page 3: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 3 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Embedded System Hardware

Embedded system hardware is frequently used in a loop(„hardware in a loop“):

actuators

Page 4: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 4 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Many examples of such loops

Heating

Lights

Engine control

Power supply

Robots

Heating: www.masonsplumbing.co.uk/images/heating.jpgRobot:: Courtesy and ©: H.Ulbrich, F. Pfeiffer, TU München

Page 5: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 5 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Sensors

Processing of physical data starts with capturing this data.Sensors can be designed for virtually every physical andchemical quantity

including weight, velocity, acceleration, electrical current, voltage, temperatures etc.

chemical compounds.Many physical effects used for constructing sensors.Examples:

law of induction (generation of voltages in an electric field),

light-electric effects.Huge amount of sensors designed in recent years.

Page 6: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 6 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Example: Acceleration Sensor

Courtesy & ©: S. Bütgenbach, TU Braunschweig

Page 7: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 7 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Charge-coupled devices (CCD) image sensors

Based on charge transfer to next pixel cellBased on charge transfer to next pixel cell

http://www.schulen.regensburg.de/hhgs/klassen/2001a/feuerwehr/kette2.jpg

Corresponding to “bucket brigade device” (German: “Eimerkettenschaltung”)

Page 8: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 8 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

CMOS image sensors

Based on standard production process for CMOS chips, allows integration with other components.

Page 9: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 9 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Comparison CCD/CMOS sensors

Source: B. Diericks: CMOS image sensor concepts. Photonics West 2000 Short course (Web)

CMOS: low cost devices + digital SLR cameras (due to large size, …)

CCD: medium to high end non-SLR cameras

Page 10: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 10 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Example: Biometrical Sensors

Example: Fingerprint sensor (© Siemens, VDE):Example: Fingerprint sensor (© Siemens, VDE):

Matrix of 256 x 256 elem.Voltage ~ distance. Resistance also computed. No fooling by photos and wax copies.Carbon dust?

Integrated into ID mouse.

Page 11: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 11 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Artificial eyes

© Dobelle Institute(was at www.dobelle.com)

Page 12: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 12 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Artificial eyes (2)

He looks hale, hearty, and healthy — except for the wires. They run from the laptops into the signal processors, then out again and across the table and up into the air, flanking his face like curtains before disappearing into holes drilled through his skull. Since his hair is dark and the wires are black, it's hard to see the actual points of entry. From a distance the wires look like long ponytails.

© Dobelle Institute

Show movie from www.dobelle.com (e.g. blind person driving a car)

Page 13: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 13 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Other sensors

Rain sensors for wiper control(„Sensors multiply like rabbits“ [ITT automotive])

Pressure sensors

Proximity sensors

Engine control sensors

Hall effect sensors

Page 14: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

fakultät für informatikinformatik 12

technische universität dortmund

Discretization

Peter MarwedelInformatik 12TU Dortmund

Germany

Page 15: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 15 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Discretization of time

Vx is a sequence of values or a mapping ℤ ℝ

In this course: restriction to digital information processing; Known digital computers can only process discrete time series. Discrete time; sample and hold-devices.

Ideally: width of clock pulse -> 0

In this course: restriction to digital information processing; Known digital computers can only process discrete time series. Discrete time; sample and hold-devices.

Ideally: width of clock pulse -> 0

Ve is a mapping ℝ ℝVe is a mapping ℝ ℝ

Page 16: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 16 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Aliasing

Impossible to reconstruct fast signals after slow sampling:multiple fast signals share same sampled sequence; Example: Signal: 5.6 Hz; Sampling: 9 Hz

-1.5

-1

-0.5

0

0.5

1

1.5

More info at end of chapter.[http://www.cise.ufl.edu/~prabhat/Teaching/cis6930-f04/comp1.ppt]

~1 s

Page 17: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 17 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Discretization of values: A/D-converters1. Flash A/D converter (1)

Digital computers require digital form of physical valuesA/D-conversion; many methods with different speeds.Example: 1. Flash A/D converter:

Digital computers require digital form of physical valuesA/D-conversion; many methods with different speeds.Example: 1. Flash A/D converter:

Encodes input number of most significant ‘1’ as an unsigned number, e.g.“1111” -> “100”,“0111” -> “011”,“0011” -> “010”,“0001” -> “001”,“0000” -> “000”(Priority encoder).

Page 18: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 18 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Discretization of values: A/D-converters1. Flash A/D converter (2)

Parallel comparison with reference voltageSpeed: O(1)Hardware complexity: O(n)with n= # of distinguished voltage levelsApplications: e.g. in video processing

Page 19: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 19 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Discretization of values2. Successive approximation

Key idea: binary search:Set MSB='1'if too large: reset MSBSet MSB-1='1'if too large: reset MSB-1

Speed: O(ld(n))Hardware complexity: O(ld(n))with n= # of distinguishedvoltage levels;slow, but high precision possible.

Page 20: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 20 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Successive approximation (2)

1100

1000

1010

1011

t

V

Vx

V-

Page 21: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 21 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Application areas for flash and successive approximation converters

[Gielen et al., DAC 2003]

Effective number of bits at bandwidth

(using single bit D/A-converters;common for high quality audio equipments)[http://www.beis.de/Elektronik/DeltaSigma/DeltaSigma.html]

(Pipelined flash converters)

(used in multimeters)

Page 22: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 22 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Quantization Noise

N = (approximated - real signal) called quantization noise.Example: quantization noise for sine wave

* [http://www.beis.de/Elektronik/DeltaSigma/DeltaSigma.html]

Page 23: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 23 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Quantization noise for audio signal

Signal to noise for ideal n-bit converter : n * 6.02 + 1.76 [dB]

e.g. 98.1 db for 16-bit converter, ~ 160 db for 24-bit converter

voltage noise effective

voltage signal effective log 20 [db] (SNR) ratio noise to signal

Additional noise for non-ideal converters Source: [http://www.beis.de/Elektronik/ DeltaSigma/DeltaSigma.html]

e.g.: 20 log(2)=6.02 decibels

Page 24: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

fakultät für informatikinformatik 12

technische universität dortmund

Information Processing

Peter MarwedelInformatik 12TU Dortmund

Germany

Page 25: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 25 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Embedded System Hardware

Embedded system hardware is frequently used in a loop(„hardware in a loop“):

actuators

Page 26: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 26 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Processing units

Need for efficiency (power + energy):

„Power is considered as the most important constraint in embedded systems“[in: L. Eggermont (ed): Embedded Systems Roadmap 2002, STW]

Energy consumption by IT is the key concern of green computing initiatives (embedded computing leading the way)

Why worry about energy and power?

http://www.esa.int/images/earth,4.jpg

Page 27: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 27 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Importance of Energy Efficiency

Cou

rtes

y: P

hilip

s

© Hug

o D

e M

an,

IME

C,

200

7

Efficient software design needed, otherwise, the price for software flexibility cannot be paid.Efficient software design needed, otherwise, the price for software flexibility cannot be paid.

poor design techniques

IPE=Inherent power efficiencyAmI=Ambient Intelligence

GO

Ps/

J

Page 28: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 28 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Application Specific Circuits (ASICS)or Full Custom Circuits

Custom-designed circuits necessary if ultimate speed orenergy efficiency is the goal and large numbers can be sold.

Approach suffers from long design times, lack of flexibility

(changing standards) andhigh costs

(e.g. Mill. $ mask costs).

Page 29: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 29 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Mask cost for specialized HWbecomes very expensive

[http://www.molecularimprints.com/Technology/tech_articles/MII_COO_NIST_2001.PDF9]

Trend towards implementation in Software

HW synthesis not covered in this course.HW synthesis not covered in this course.

Page 30: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 30 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Microcontrollers- MHS 80C51 as an example -

8-bit CPU optimised for control applications Extensive Boolean processing capabilities 64 k Program Memory address space 64 k Data Memory address space 4 k bytes of on chip Program Memory 128 bytes of on chip data RAM 32 bi-directional and individually addressable I/O lines Two 16-bit timers/counters Full duplex UART 6 sources/5-vector interrupt structure with 2 priority levels On chip clock oscillators Very popular CPU with many different variations

Featu

res for E

mb

edd

ed S

ystems

Moved from 3.4.3.4

Page 31: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 31 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Key requirements for processors

1. Energy/power-efficiency

Page 32: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 32 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Power and energy are related to each other

dtPE

t

P

E

In many cases, faster execution also means less energy, but the opposite may be true if power has to be increased to allow faster execution.

E'

Page 33: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 33 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Low Power vs. Low Energy Consumption

Minimizing the power consumption is important for• the design of the power supply• the design of voltage regulators• the dimensioning of interconnect• short term cooling

Minimizing the energy consumption is important due to• restricted availability of energy (mobile systems)

• limited battery capacities (only slowly improving)• very high costs of energy (solar panels, in space)

• cooling• high costs• limited space

• dependability • long lifetimes, low temperatures

Page 34: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 34 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Prescott: 90 W/cm², 90 nm [c‘t 4/2004]

Nuclear reactor

Power density continues to get worse

Page 35: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 35 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Surpassed hot (kitchen) plate …? Why not use it?

http

://w

ww

.phy

s.nc

ku.e

du.tw

/~ht

su/h

umor

/fry_

egg.

htm

l

Page 36: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 36 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Page 37: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 37 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Need to consider CPU & System Power

Mobile PC (notebook)Thermal Design (TDP) System Power

Note: Based on Actual Measurements

600/500 MHz uP37%

LCD 10"19%

HDD9%

Memory+Graphics12%

Power Supply10%

Other13%

Mobile PC (notebook)Average System Power

600/500 MHz uP13%

LCD 10"30%

HDD19%

Memory+Graphics15%

Power Supply10%

Other13%

CPU Dominates Thermal Design Power

Multiple Platform Components Comprise

Average Power [Courtesy: N. Dutt; Source: V. Tiwari]

Page 38: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 38 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Energy consumption in mobile devices

[O. Vargas (Infineon Technologies): Minimum power consumption in mobile-phone memory subsystems; Pennwell Portable Design - September 2005;] Thanks to Thorsten Koch (Nokia/ Univ. Dortmund) for providing this source.

Page 39: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 39 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Dynamic power management (DPM)

RUN: operationalIDLE: a sw routine may stop the CPU when not in use, while monitoring interruptsSLEEP: Shutdown of on-chip activity

RUN

SLEEPIDLE

400mW

160µW50mW

90µs

90µs

10µs

10µs160ms

Example: STRONGARM SA1100

Power

fa

ult

sig

nal

Power fault signal

Page 40: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 40 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Fundamentals of dynamic voltage scaling (DVS)

Power consumption of CMOScircuits (ignoring leakage):

frequency clock:

voltagesupply :

ecapacitanc load:

activity switching:

with2

f

V

C

fVCP

dd

L

ddL

) than (

voltage threshhold:

with2

ddt

t

tdd

ddL

VV

V

VV

VCk

Delay for CMOS circuits:

Decreasing Vdd reduces P quadratically,while the run-time of algorithms is only linearly increasedE=P x t decreases linearly(ignoring the effects of the memory system and Vt)

Page 41: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 41 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Voltage scaling: Example

Vdd[Courtesy, Yasuura, 2000]

Page 42: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 42 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Variable-voltage/frequency example: INTEL Xscale

Fro

m I

nte

l’s W

eb

Site

OS should schedule distribution of the energy budget.

Page 43: Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2008/11/03

- 43 -technische universitätdortmund

fakultät für informatik

p.marwedel, informatik 12, 2008

TU Dortmund

Summary

Hardware in a loop Sensors Discretization

• Sample-and-hold circuits• A/D-converters

Information processing• Importance of energy efficiency• Special purpose HW very expensive• Energy efficiency of processors• ..

D/A converters Actuators