Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware -...
-
Upload
walther-kaestner -
Category
Documents
-
view
217 -
download
0
Transcript of Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware -...
![Page 1: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/1.jpg)
technische universität dortmund
fakultät für informatikinformatik 12
Embedded System Hardware
- Processing -
Peter MarwedelInformatik 12TU Dortmund
Germany
2013 年 11 月 12 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply.
© S
prin
ger,
2010
![Page 2: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/2.jpg)
- 2 -technische universitätdortmund
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: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/3.jpg)
- 3 -technische universitätdortmund
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: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/4.jpg)
- 4 -technische universitätdortmund
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: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/5.jpg)
- 5 -technische universitätdortmund
fakultät für informatik
P.Marwedel, Informatik 12, 2013
TU Dortmund
Should we care about energy consumptionor about power consumption?
dttPE )(
t
P(t)
E
Both are closely related, but still different
![Page 6: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/6.jpg)
- 6 -technische universitätdortmund
fakultät für informatik
P.Marwedel, Informatik 12, 2013
TU Dortmund
Should we care about energy consumptionor 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: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/7.jpg)
- 7 -technische universitätdortmund
fakultät für informatik
P.Marwedel, Informatik 12, 2013
TU Dortmund
Energy Efficiency of different target platforms
© Hugo De Man, IMEC, Philips, 2007
“inherent power
efficiency of silicon“
![Page 8: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/8.jpg)
- 8 -technische universitätdortmund
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: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/9.jpg)
- 9 -technische universitätdortmund
fakultät für informatik
P.Marwedel, Informatik 12, 2013
TU Dortmund
Energy Efficiency of different target platforms
© Hugo De Man, IMEC, Philips, 2007
“inherent power
efficiency of silicon“
![Page 10: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/10.jpg)
- 10 -technische universitätdortmund
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
© IntelM. Pollack, Micro-32
![Page 11: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/11.jpg)
- 11 -technische universitätdortmund
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: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/12.jpg)
- 12 -technische universitätdortmund
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: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/13.jpg)
- 13 -technische universitätdortmund
fakultät für informatik
P.Marwedel, Informatik 12, 2013
TU Dortmund
Keep it simple, stupid (KISS)
S. B
orka
r, A
. Chi
en: T
he fu
ture
of m
icro
proc
esso
rs,
Com
mun
icat
ions
of t
he A
CM
, May
201
1
© ACM, 2011
![Page 14: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/14.jpg)
- 14 -technische universitätdortmund
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 clockvoltagesupply
ecapacitanc loadactivity switching
with
:::
:
2
fVC
fVCP
dd
L
ddL
Decreasing Vdd reduces P quadraticallyCL
CMOS outputddV
![Page 15: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/15.jpg)
- 15 -technische universitätdortmund
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 CMOScircuits (ignoring leakage):
frequency clockvoltagesupply
ecapacitanc loadactivity switching
with
:::
:
2
fVC
fVCP
dd
L
ddL
) than voltage threshhold
with
ddt
t
tdd
ddL
VVV
VVVCk
(:
2
Delay for CMOS circuits:
Decreasing Vdd reduces P quadratically,while the run-time of algorithms is only linearly increased
![Page 16: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/16.jpg)
- 16 -technische universitätdortmund
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: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/17.jpg)
- 17 -technische universitätdortmund
fakultät für informatik
P.Marwedel, Informatik 12, 2013
TU Dortmund
2(Forservers)
© Babak Falsafi, 2010
10 GHz clock: Many cores unusable
“Dark silicon”
![Page 18: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/18.jpg)
- 18 -technische universitätdortmund
fakultät für informatik
P.Marwedel, Informatik 12, 2013
TU Dortmund
2
(For servers)
© Babak Falsafi, 2010
![Page 19: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/19.jpg)
- 19 -technische universitätdortmund
fakultät für informatik
P.Marwedel, Informatik 12, 2013
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
fault
sig
nal
Power fault signal
![Page 20: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/20.jpg)
- 20 -technische universitätdortmund
fakultät für informatik
P.Marwedel, Informatik 12, 2013
TU Dortmund
Energy Efficiency of different target platforms
© Hugo De Man, IMEC, Philips, 2007
“inherent power
efficiency of silicon“
![Page 21: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/21.jpg)
- 21 -technische universitätdortmund
fakultät für informatik
P.Marwedel, Informatik 12, 2013
TU Dortmund
Low voltage, parallel operation more efficient than high voltage, sequential operation
Basic equationsPower: 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: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/22.jpg)
- 22 -technische universitätdortmund
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
“inherent 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: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/23.jpg)
- 23 -technische universitätdortmund
fakultät für informatik
P.Marwedel, Informatik 12, 2013
TU Dortmund
Energy-efficient architectures:Domain- and application specific
“inherent power
efficiency of silicon“
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: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/24.jpg)
- 24 -technische universitätdortmund
fakultät für informatik
P.Marwedel, Informatik 12, 2013
TU Dortmund
Mobile phones:Increasing performance requirementsC.H. van Berkel: Multi-Core for Mobile Phones, DATE, 2009;
Wor
kloa
d [M
OP
s]
Many more instances of the power/energy problem
![Page 25: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/25.jpg)
- 25 -technische universitätdortmund
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: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/26.jpg)
- 26 -technische universitätdortmund
fakultät für informatik
P.Marwedel, Informatik 12, 2013
TU Dortmund
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
(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: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/27.jpg)
- 27 -technische universitätdortmund
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: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/28.jpg)
- 28 -technische universitätdortmund
fakultät für informatik
P.Marwedel, Informatik 12, 2013
TU Dortmund
Energy-efficient architectures: Heterogeneous processors
http
://w
ww
.mps
oc-fo
rum
.org
/200
7/sl
ides
/Hat
tori.
“Dark silicon” (not all silicon can be powered at the same time, due to current, power or temperature constraints)
![Page 29: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/29.jpg)
- 29 -technische universitätdortmund
fakultät für informatik
P.Marwedel, Informatik 12, 2013
TU Dortmund
ARM‘s big.LITTLE as an example
© ARM, 2013
Used inSamsung S4
![Page 30: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/30.jpg)
- 30 -technische universitätdortmund
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: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/31.jpg)
- 31 -technische universitätdortmund
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 #constant001 10 Rd Constant
zero extendedmajoropcode minor
opcode
source=destination
Same approach for LSI TinyRisc, …Requires support by compiler, assembler etc.
Dynamically decoded at run-time
[ARM, R. Gupta]
![Page 32: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/32.jpg)
- 32 -technische universitätdortmund
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: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/33.jpg)
- 33 -technische universitätdortmund
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.
instructionaddress
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: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/34.jpg)
- 34 -technische universitätdortmund
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: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/35.jpg)
- 35 -technische universitätdortmund
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: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/36.jpg)
- 36 -technische universitätdortmund
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: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/37.jpg)
- 37 -technische universitätdortmund
fakultät für informatik
P.Marwedel, Informatik 12, 2013
TU Dortmund
Heterogeneous registers
MR
MFMX MY
*+,-
AR
AFAX AY
+,-,..
DP
Address generation unit (AGU)
Address- registersA0, A1, A2 ..
Different functionality of registers An, AX, AY, AF,MX, MY, MF, MR
Example (ADSP 210x):
![Page 38: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/38.jpg)
- 38 -technische universitätdortmund
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: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/39.jpg)
- 39 -technische universitätdortmund
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 windoww
t1t
n most recent values
.. w[t1-1] w[t1] w[t1+1] w[t1-n+2]..
![Page 40: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/40.jpg)
- 40 -technische universitätdortmund
fakultät für informatik
P.Marwedel, Informatik 12, 2013
TU Dortmund
Returns largest/smallest number in case of over/underflows
Example:a 0111b + 1001standard wrap around arithmetic (1)0000saturating arithmetic 1111(a+b)/2: correct 1000
wrap around arithmetic 0000saturating 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: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/41.jpg)
- 41 -technische universitätdortmund
fakultät für informatik
P.Marwedel, Informatik 12, 2013
TU Dortmund
Example
MATLAB Demo
![Page 42: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/42.jpg)
- 42 -technische universitätdortmund
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: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/43.jpg)
- 43 -technische universitätdortmund
fakultät für informatik
P.Marwedel, Informatik 12, 2013
TU Dortmund
Real-time capability
Timing behavior has to be predictableFeatures 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.
[Dag
stuh
l wor
ksho
p on
pre
dict
abili
ty, N
ov. 1
7-19
, 200
3]
![Page 44: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/44.jpg)
- 44 -technische universitätdortmund
fakultät für informatik
P.Marwedel, Informatik 12, 2013
TU Dortmund
Multiple memory banks or memories
MR
MFMX MY
*+,-
AR
AFAX AY
+,-,..
DP
Address generation unit (AGU)
Address- registersA0, A1, A2 ..
Simplifies parallel fetches
![Page 45: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/45.jpg)
- 45 -technische universitätdortmund
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 a232 bits
b1 b232 bits
c1 c232 bits
+
Cheap way of using parallelism SSE instruction set extensions, SIMD instructions
![Page 46: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/46.jpg)
- 46 -technische universitätdortmund
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: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/47.jpg)
- 47 -technische universitätdortmund
fakultät für informatik
P.Marwedel, Informatik 12, 2013
TU Dortmund
SPARES
![Page 48: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/48.jpg)
- 48 -technische universitätdortmund
fakultät für informatik
P.Marwedel, Informatik 12, 2013
TU Dortmund
Voltage scaling: Example
Vdd[Courtesy, Yasuura, 2000]
![Page 49: Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware - Processing - Peter Marwedel Informatik 12 TU Dortmund.](https://reader035.fdocument.pub/reader035/viewer/2022062818/570491ca1a28ab14218dd938/html5/thumbnails/49.jpg)
- 49 -technische universitätdortmund
fakultät für informatik
P.Marwedel, Informatik 12, 2013
TU Dortmund
Variable-voltage/frequency example: INTEL Xscale
From
Inte
l’s W
eb S
ite