49
technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund Germany 201311 12 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. © Springer, 2010

Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

technische universität dortmund

fakultät für informatik

informatik 12

Embedded System

Hardware - Processing -

Peter Marwedel

Informatik 12

TU Dortmund

Germany

2013年 11 月 12 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply.

© S

pringer,

2010

Page 2: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 2 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Embedded System Hardware

Embedded system hardware is frequently used in a loop

(“hardware in a loop“):

cyber-physical systems

Page 3: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 3 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Efficiency:

slide from lecture 1 applied to processing

CPS & ES must be efficient

• Code-size efficient

(especially for systems on a chip)

• Run-time efficient

• Weight efficient

• Cost efficient

• Energy efficient

© Graphics: Microsoft, P. Marwedel,

M. Engel, 2011

Page 4: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 4 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Why care about energy efficiency ?

Relevant during use?

Execution platform Plugged Uncharged

periods

Unplug-

ged

E.g. Factory Car Sensor

Global warming

Cost of energy

Increasing performance

Problems with cooling, avoiding hot spots

Avoiding high currents & metal migration

Reliability

Energy a very scarce resource

Power

© Graphics: P. Marwedel, 2011

Page 5: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 5 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Should we care about energy consumption

or about power consumption?

dttPE )(

t

P(t)

E

Both are closely related, but still different

Page 6: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 6 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Should we care about energy consumption

or about power consumption (2)?

Minimizing power consumption important for

• design of the power supply & regulators

• dimensioning of interconnect, short term cooling

Minimizing energy consumption important due to

• restricted availability of energy (mobile systems)

• cooling: high costs, limited space

• thermal effects

• dependability, long lifetimes

In general, we need to care about both

Page 7: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 7 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Energy

Efficiency

of different

target

platforms

© Hugo De Man,

IMEC, Philips, 2007

Page 8: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 8 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Application Specific Circuits (ASICS)

or Full Custom Circuits

Approach suffers from

long design times,

lack of flexibility

(changing standards) and

high costs

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

Custom-designed circuits necessary

if ultimate speed or

energy efficiency is the goal and

large numbers can be sold.

© Graphics: M. Engel, 2012

HW synthesis not

covered in this course,

let’s look at processors

Page 9: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 9 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Energy

Efficiency

of different

target

platforms

© Hugo De Man,

IMEC, Philips, 2007

Page 10: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 10 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Prescott: 90 W/cm²,

90 nm [c‘t 4/2004]

Nuclear reactor

PCs: Problem: Power density increasing

© Intel

M. Pollack,

Micro-32

Page 11: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 11 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

PCs: Surpassed hot (kitchen) plate …?

Why not use it?

http://www.phys.ncku.edu.tw/

~htsu/humor/fry_egg.html

Strictly

speaking,

energy is not

“consumed”,

but converted

from electrical

energy into

heat energy

Page 12: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 12 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

PCs: Just adding transistors would have resulted

in this:

2018

S. Borkar, A. Chien: The future of microprocessors, Communications of the ACM, May 2011

© ACM, 2011

Page 13: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 13 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Keep it simple, stupid (KISS)

S.

Bork

ar,

A.

Chie

n: T

he futu

re o

f m

icro

pro

cessors

,

Com

munic

ations o

f th

e A

CM

, M

ay 2

011

© ACM, 2011

Page 14: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 14 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Prerequisite:

Static and dynamic power consumption

Dynamic power consumption: Power consumption caused

by charging capacitors when logic levels are switched.

Static power consumption (caused by leakage current):

power consumed in the absence of clock signals

Leakage becoming more important due to smaller devices

frequency clock

voltagesupply

ecapacitanc load

activity switching

with

:

:

:

:

2

f

V

C

fVCP

dd

L

ddL

Decreasing

Vdd reduces P

quadratically CL

CMOS output

ddV

Page 15: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 15 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

How to make systems energy efficient:

Fundamentals of dynamic voltage scaling (DVS)

Power consumption of CMOS

circuits (ignoring leakage):

frequency clock

voltagesupply

ecapacitanc load

activity switching

with

:

:

:

:

2

f

V

C

fVCP

dd

L

ddL

) than

voltage threshhold

with

ddt

t

tdd

ddL

VV

V

VV

VCk

(

:

2

Delay for CMOS circuits:

Decreasing Vdd reduces P quadratically,

while the run-time of algorithms is only linearly increased

Page 16: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 16 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Voltage scaling: Example

S. Borkar, A. Chien: The future of microprocessors, Communications of the ACM, May 2011

© ACM, 2011

Page 17: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 17 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

2 (For

servers)

© Babak Falsafi, 2010

10 GHz clock:

Many cores unusable

“Dark silicon”

Page 18: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 18 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

2

(For

servers)

© Babak Falsafi, 2010

Page 19: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 19 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Dynamic power management (DPM)

RUN: operational

IDLE: a SW routine may

stop the CPU when not

in use, while monitoring

interrupts

SLEEP: Shutdown of on-

chip activity

RUN

SLEEP IDLE

400mW

160µW 50mW

90µs

10µs

10µs 160ms

Example: STRONGARM SA1100

Power fault

signal

Page 20: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 20 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Energy

Efficiency

of different

target

platforms

© Hugo De Man,

IMEC, Philips, 2007

Page 21: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 21 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Low voltage, parallel operation more efficient

than high voltage, sequential operation

Basic equations

Power: P ~ VDD² ,

Maximum clock frequency: f ~ VDD ,

Energy to run a program: E = P t, with: t = runtime (fixed)

Time to run a program: t ~ 1/f

Changes due to parallel processing, with operations per clock:

Clock frequency reduced to: f’ = f / ,

Voltage can be reduced to: VDD’ =VDD / ,

Power for parallel processing: P° = P / ² per operation,

Power for operations per clock: P’ = P° = P / ,

Time to run a program is still: t’ = t,

Energy required to run program: E’ = P’ t = E /

Argument in favour of voltage scaling,

and parallel processing

Rough approxi-mations!

Page 22: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 22 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

More energy-efficient architectures:

Domain- and application specific

Close to power

efficiency of silicon

© Hugo De Man: From the Heaven of Software to the Hell of Nanoscale

Physics: An Industry in Transition, Keynote Slides, ACACES, 2007

Page 23: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 23 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Energy-efficient architectures:

Domain- and application specific

Close to power

efficiency of silicon © Hugo De Man: From the Heaven of Software to the Hell of Nanoscale

Physics: An Industry in Transition, Keynote Slides, ACACES, 2007

Page 24: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 24 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Mobile phones:

Increasing performance requirements

C.H. van Berkel: Multi-Core for Mobile Phones, DATE, 2009;

Work

load [

MO

Ps]

Many more instances of the power/energy problem

Page 25: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 25 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Mobile phones: Where does the power go?

It not just I/O, don’t ignore processing!

[O. Vargas: Minimum power

consumption in mobile-phone

memory subsystems; Pennwell

Portable Design - September 2005;]

Page 26: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 26 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Graphics

Media

Radio

Application

Mobile phones: Where does the power go? (2)

During use, all components & computations relevant

C.H. van Berkel: Multi-Core for

Mobile Phones, DATE, 2009;

(no explicit percentages in

original paper)

Mobile phone use, breakdown by type of computation

Graphics

Media

Radio

Application

(geometry processing, rasterization, pixel shading)

(display & camera processing, video (de)coding)

(front-end, demodulation, decoding, protocol)

(user interface, browsing, …)

With special purpose HW!

Page 27: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 27 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Mobile phones: Where is the energy consumed?

According to

International

Technology

Roadmap for

Semiconductors

(ITRS), 2010

update,

[www.itrs.net]

Current trends

violation of 0.5-1

W constraint for

small mobiles;

large mobiles:

~ 7 W

© ITRS, 2010

Page 28: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 28 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Energy-efficient architectures: Heterogeneous

processors

http://w

ww

.mpsoc-f

oru

m.o

rg/2

007/s

lides/H

attori.p

df

“Dark silicon” (not all silicon can be powered at the same time, due to

current, power or temperature constraints)

Page 29: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 29 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

ARM‘s big.LITTLE as an example

© ARM, 2013

Used in

Samsung S4

Page 30: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 30 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Key requirement #2: Code-size efficiency

Overview: http://www-perso.iro.umontreal.ca/~latendre/

codeCompression/codeCompression/node1.html

Compression techniques: key idea

Page 31: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 31 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Code-size efficiency

Compression techniques (continued):

• 2nd instruction set, e.g. ARM Thumb instruction set:

• Reduction to 65-70 % of original code size

• 130% of ARM performance with 8/16 bit memory

• 85% of ARM performance with 32-bit memory

1110 001 01001 0 Rd 0 Rd 0000 Constant

16-bit Thumb instr.

ADD Rd #constant 001 10 Rd Constant

zero extended

major

opcode minor

opcode

Same approach for LSI TinyRisc, …

Requires support by compiler, assembler etc.

Dynamically

decoded at

run-time

[ARM, R. Gupta]

Page 32: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 32 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Dictionary approach, two level control store (indirect addressing of instructions)

“Dictionary-based coding schemes cover a wide range of

various coders and compressors.

Their common feature is that the methods use some kind of a

dictionary that contains parts of the input sequence which

frequently appear.

The encoded sequence in turn contains references to the

dictionary elements rather than containing these over and

over.”

[Á. Beszédes et al.: Survey of Code size Reduction Methods, Survey of Code-Size

Reduction Methods, ACM Computing Surveys, Vol. 35, Sept. 2003, pp 223-267]

Page 33: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 33 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Key idea (for d bit instructions)

Uncompressed storage of

a d-bit-wide instructions

requires a x d bits.

In compressed code, each

instruction pattern is

stored only once.

Hopefully, axb+cxd < axd.

Called nanoprogramming

in the Motorola 68000.

instruction

address

CPU

d bit

b « d bit

table of used instructions

(“dictionary”)

For each

instruction

address, S

contains table

address of

instruction.

S a

b

c ≦ 2b small

Page 34: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 34 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Key requirement #3: Run-time efficiency

- Domain-oriented architectures -

Example: Filtering in Digital signal processing (DSP)

Signal at t=ts (sampling points)

Page 35: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 35 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Filtering in digital signal processing

-- outer loop over

-- sampling times ts

{ MR:=0; A1:=1; A2:=s-1;

MX:=w[s]; MY:=a[0];

for (k=0; k <= (n−1); k++)

{ MR:=MR + MX * MY;

MX:=w[A2]; MY:=a[A1]; A1++; A2--;

}

x[s]:=MR;

}

Maps nicely

ADSP 2100

Page 36: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 36 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

DSP-Processors: multiply/accumulate (MAC) and

zero-overhead loop (ZOL) instructions

MR:=0; A1:=1; A2:=s-1; MX:=w[s]; MY:=a[0];

for ( k:=0 <= n-1)

{MR:=MR+MX*MY; MY:=a[A1]; MX:=w[A2]; A1++; A2--}

Multiply/accumulate (MAC) instruction Zero-overhead loop (ZOL)

instruction preceding MAC

instruction.

Loop testing done in parallel to

MAC operations.

Page 37: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 37 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Heterogeneous registers

MR

MF

MX MY

* +,-

AR

AF

AX AY

+,-,..

D P

Address

generation

unit (AGU)

Address-

registers

A0, A1, A2

..

Different functionality of registers An, AX, AY, AF,MX, MY, MF, MR

Example (ADSP 210x):

Page 38: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 38 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Separate address generation units (AGUs)

Data memory can only be

fetched with address contained

in A,

but this can be done in parallel

with operation in main data path

(takes effectively 0 time).

A := A ± 1 also takes 0 time,

same for A := A ± M;

A := <immediate in instruction>

requires extra instruction

Minimize load immediates

Optimization in optimization

chapter

Example (ADSP 210x):

Page 39: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 39 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Modulo addressing

Modulo addressing:

Am++ Am:=(Am+1) mod n

(implements ring or circular

buffer in memory)

..

w[t1-1]

w[t1]

w[t1-n+1]

w[t1-n+2]

..

Memory, t=t1 Memory, t2= t1+1

sliding window w

t1 t

n most

recent

values

..

w[t1-1]

w[t1]

w[t1+1]

w[t1-n+2]

..

Page 40: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 40 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Returns largest/smallest number in case of

over/underflows

Example:

a 0111

b + 1001

standard wrap around arithmetic (1)0000

saturating arithmetic 1111

(a+b)/2: correct 1000

wrap around arithmetic 0000

saturating arithmetic + shifted 0111

Appropriate for DSP/multimedia applications: • No timeliness of results if interrupts are generated for overflows

• Precise values less important

• Wrap around arithmetic would be worse.

Saturating arithmetic

“almost correct“

Page 41: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 41 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Example

MATLAB Demo

Page 42: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 42 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Fixed-point arithmetic

Shifting required after multiplications and divisions in

order to maintain binary point.

Page 43: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 43 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Real-time capability

Timing behavior has to be predictable

Features that cause problems:

• Unpredictable access to shared resources

• Caches with difficult to predict replacement strategies

• Unified caches (conflicts between instructions and data)

• Pipelines with difficult to predict stall cycles ("bubbles")

• Unpredictable communication times for multiprocessors

• Branch prediction, speculative execution

• Interrupts that are possible any time

• Memory refreshes that are possible any time

• Instructions that have data-dependent execution times

Trying to avoid as many of these as possible.

[Dagstu

hl w

ork

shop o

n p

redic

tabili

ty, N

ov.

17

-19, 2003]

Page 44: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 44 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Multiple memory banks or memories

MR

MF

MX MY

* +,-

AR

AF

AX AY

+,-,..

D P

Address

generation

unit (AGU)

Address-

registers

A0, A1, A2

..

Simplifies parallel fetches

Page 45: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 45 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Multimedia-Instructions, Short vector extensions,

Streaming extensions, SIMD instructions

Multimedia instructions exploit that many registers,

adders etc are quite wide (32/64 bit), whereas most

multimedia data types are narrow

2-8 values can be stored per register and added. E.g.:

2 additions per instruction;

no carry at bit 16

a1 a2

32 bits

b1 b2

32 bits

c1 c2

32 bits +

Cheap way of using parallelism

SSE instruction set extensions, SIMD instructions

Page 46: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 46 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Summary

Hardware in a loop

Sensors

Discretization

Information processing

• Importance of energy efficiency

• Special purpose HW very expensive

• Energy efficiency of processors

• Code size efficiency

• Run-time efficiency

• MPSoCs

D/A converters

Actuators

Page 47: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 47 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

SPARES

Page 48: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 48 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Voltage scaling: Example

Vdd [Courtesy, Yasuura, 2000]

Page 49: Embedded System Hardware - TU Dortmund...technische universität - 2 - dortmund fakultät für informatik P.Marwedel, Informatik 12, 2013 TU Dortmund Embedded System Hardware Embedded

- 49 - technische universität

dortmund

fakultät für

informatik

P.Marwedel,

Informatik 12, 2013

TU Dortmund

Variable-voltage/frequency example:

INTEL Xscale

Fro

m In

tel’s

Web

Site