34
ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

Embed Size (px)

Citation preview

Page 1: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

ENERGIEVERBRAUCH & VERLUSTLEISTUNGREZNICEK ALEXANDER1125076

Page 2: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

2

ENERGIE VS. VERLUSTLEISTUNG• (elektrische) Energie E: 1Ws = 1J 1 Wh = 3600 Ws gespeichert in Energiespeichern wie Akkus• Verlustleistung P: Einheit Watt

• Ein Chip wird schneller, je höher die Spannung ist• Ein Chip wird schneller, je kühler er istWeniger Verlustleistung Weniger Temperatur Mehr Performance

Um den Akku von mobilen Geräten zu schonen muss Energie gespart werden, um die TDP (Termal Design Power) einzuhalten Verlustleistung (Temperatur!)

Verlustleistung sparen bedeutet nicht immer gleich Energie sparen! (vgl. “race to idle” vs. Taktanpassung)

Page 3: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

3

TRENDS• Laptops/PCs mit geringerer Verlustleistung in den

letzten Jahren• 2010: Laptop 35W, PC 95-125W TDP• 2015: Laptop 15W, PC 74-84W TDP

• Smartphones/Embedded-Systems mit höherem Energieverbrauch• 2010: 1500mAh durchschnittlich• 2015: 3000mAh bei vergleichbarer Akkulaufzeit• Desweiteren Temperaturprobleme in einigen High-End Geräten

• Seit 2008 mehr Notebooks als PCs verkauft• Auch 2015 steigt die Zahl der verkauften Smartphones

Page 4: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

4

WARUM ALSO STROMSPAREN?• Akkutechnik hat sich in den letzten 20 Jahren nicht

viel verbessert, Systemleistung hat sich aber stark erhöht (auch durch erhöhtem Verbrauch)

Erhöhter Verbrauch niedrigere Laufzeit

• Einhalten sinnvoller TDP-Limits

• Umwelt-/Ökonomiegedanken• Bspw. EU-Verordnung Nr. 617/2013:Quadcore-PC mit idle-Verbrauch max. 59 W (2016 41W!)

Page 5: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

5

VERLUSTLEISTUNG• Dynamische Verlustleistung C·V2·A·f (Kapazität, Spannung, Frequenz, Aktivitätsfaktor) Leistung, die bei Schaltvorgängen verbraucht wird

Statische Verlust-Leistung wird immermehr zum Problem

• Statische Verlustleistung: Leistung, die ohne Schaltvorgängen bei konstantem Eingang verbraucht wird

Page 6: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

6

STROMSPAREN

• In HW• Spezielle Hardwarebausteine• Strukturbreite• Schaltungsoptimierung• Spannungs-/Frequenzvariation• Clock-/Power Gating

• In SW• Compiler• Programmierstil

Page 7: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

7

SPEZIELLE HARDWAREBAUSTEINE

Hardware für spezielle Aufgaben, die oft ausgeführt werden• Timer• Codecs• Grafikprozessoren• Custom-ASICs/FPGAs/…

• Beispiel: Video Codec H264 H265CPU 129 W 132 WIGP 90 W 120 WgGPU (fixed-function HEVC!) 119 W 130 W

Page 8: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

8

BITCOINS – SHA256Bezeichnung MH/s Watt Preis in

€MH/s/W

Raspberry Pi 0,2 3,75 20 0,053Raspberry Pi2 1,76 3,5 35 0,5Intel Core i7 3930k (6 Kerne!)

66,6 140 500 0,47

Grau = CPU, Grün = GPU, Blau = FPGA, Orange = ASIC

Page 9: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

9

BITCOINS – SHA256Bezeichnung MH/s Watt Preis in

€MH/s/W

Raspberry Pi 0,2 3,75 20 0,053Raspberry Pi2 1,76 3,5 35 0,5Intel Core i7 3930k (6 Kerne!)

66,6 140 500 0,47

NVIDIA GTX 590 193 360 600 0,53AMD Radeon R9 280X 825 214 250 3,86

Grau = CPU, Grün = GPU, Blau = FPGA, Orange = ASIC

Page 10: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

10

BITCOINS – SHA256Bezeichnung MH/s Watt Preis in

€MH/s/W

Raspberry Pi 0,2 3,75 20 0,053Raspberry Pi2 1,76 3,5 35 0,5Intel Core i7 3930k (6 Kerne!)

66,6 140 500 0,47

NVIDIA GTX 590 193 360 600 0,53AMD Radeon R9 280X 825 214 250 3,86Terasic DE2-115 80 10 600 8BitForce SHA256 Single 832 80 600 10,4

Grau = CPU, Grün = GPU, Blau = FPGA, Orange = ASIC

Page 11: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

11

BITCOINS – SHA256Bezeichnung MH/s Watt Preis in

€MH/s/W

Raspberry Pi 0,2 3,75 20 0,053Raspberry Pi2 1,76 3,5 35 0,5Intel Core i7 3930k (6 Kerne!)

66,6 140 500 0,47

NVIDIA GTX 590 193 360 600 0,53AMD Radeon R9 280X 825 214 250 3,86Terasic DE2-115 80 10 600 8BitForce SHA256 Single 832 80 600 10,4AntMiner U1 1600 2 30 800

Grau = CPU, Grün = GPU, Blau = FPGA, Orange = ASIC

Page 12: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

12

BITCOINS – SHA256Bezeichnung MH/s Watt Preis in

€MH/s/W

Raspberry Pi 0,2 3,75 20 0,053Raspberry Pi2 1,76 3,5 35 0,5Intel Core i7 3930k (6 Kerne!)

66,6 140 500 0,47

NVIDIA GTX 590 193 360 600 0,53AMD Radeon R9 280X 825 214 250 3,86Terasic DE2-115 80 10 600 8BitForce SHA256 Single 832 80 600 10,4AntMiner U1 1600 2 30 800AntMiner S3 441000 340 390 1297AntMiner S5+ 7722000 3436 2400 2247

Grau = CPU, Grün = GPU, Blau = FPGA, Orange = ASIC

Page 13: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

13

STRUKTURBREITE

• Kleinere Strukturbreite – kleinere Abstände/Transistoren

• geringerer Stromverbrauch

• Von einem Full-Node zum nächsten ~30% mehr Effizienz

=Strukturbreite

Page 14: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

14

Page 15: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

15

STRUKTURBREITE• 14nm!=14nm

• Schaltströme geringer bei gleicher Leistung

• Kleinere Gates liefern allerdings weniger Widerstand Problem der Leckströme

• 30% mehr Effizienz nicht mehr durch Änderung der Strukturbreite allein

Page 16: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

16

BULK VS. FINFET

Statt einer Finne mehrere erhöht den Strom der fließt schnellerErhöht aber auch den Stromverbrauch

Page 17: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

17

SCHALTUNGSOPTIMIERUNG

• Breiteres Gate verringert Leckströme der Transistor ist dann allerdings langsamer

• Beispiel: NVIDIA Fermi 400er vs. 500er Serieca. 10% weniger Energieverbrauch wurde erreicht

• Verwendung anderer Materialien z.B. SOI (Silicon on Insulator) oder HKMG (High-k Metal Gate) für bessere Isolation

• TSV (Through Silicon Via)• Beispiel: Samsung 3D-NAND

Page 18: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

18

SPANNUNGS-/FREQUENZVARIATION• Senkung der Frequenz senkt den Verbrauch über

niedrigere Ströme• Senkung der Spanunng senkt den Verbrauch über Spannung und Ströme

• Bei PCs über die C- und P-States des ACPI• Vom Betriebssystem vorgegeben, von der CPU in eigene

Stati umgesetzt• Alternativ vom Prozessor selbst bestimmt (Speed Shift)• Beispiele: Speed Step, Power Now!, Turbo Boost/Core

• Eingebette Systeme verwenden Power-States• Beispiel: DVFS (Dynamic Voltage and Frequency Scaling)

Page 19: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

19

SPANNUNGS-/FREQUENZVARIATION

Freescale i.MX 28 (@1,5V)

DVFS: Verwendung einer OPP-List (Operating Performance Point):Für jede mögliche Frequenz steht hier eine zu verwendende Spannung Bei Frequenzsenkung wird zuerst Frequenz und dann Spannung gesenkt (automatisch!) Bei Frequenzanhebung wird zuerst Spannung und dann Frequenz angebhoben

Page 20: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

20

SPANNUNGS-/FREQUENZVARIATION

1 MHz weniger ~ 1-1,5 mA, 1V weniger ~20-30% weniger mATaktsabsenkung nahezu mit konstanter VerbrauchssenkungSpannungsabsenkung mit prozentueller VerbrauchssenkungSpannungsabsenkung senkt Spannung und Strom (P=U*I !)

[Atmel 1280 mit 8MHz]

Page 21: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

21

CLOCK GATING / POWER GATINGClock Gating: Abschaltung einzelner Hardware-Komponenten auf einem Chip mittels Deaktivierung des Clocks der Komponente• Beispiele: Speed Step, Power Now!, Turbo Boost/Core, Speed

Shift

Power Gating: Deaktivierung der Hardware durch Abschaltung der Versorgungsspannung des Blockes• Langsamer/weniger dynamisch als Clock Gating• Beispiele: Komponenten an µC wie Timer, ADC, UART,…

Deaktivierung einzelner Kerne (Big.Little, Companion Core)

Beide Methoden trennen nicht physikalisch!

Page 22: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

22

POWER GATING

Big.Little: Nur einer der Cluster ist jeweils sichtbarund wird virtuell als einziger Cluster angezeigtInterrupts warden ebenfalls auf diese Art geteilt(GIC, nicht abgebildet)Für die Software sind die Cluster mittels OPP erreichbar

Tegra 3

Page 23: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

23

VERBRAUCH EINZELNER KOMPONENTEN

UARTTWI

Timer Typ 1Timer Typ 2Timer Typ 3

SPIADC

220315

100150

300400

315

Atmel 1280, 5V, 8MHz, in µA

Page 24: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

24

Prozessor(idle)UART

TWITimer Typ 1Timer Typ 2Timer Typ 3

SPIADC

2700220315

100150

300400

315

Atmel 1280, 5V, 8MHz, in µA

Verbrauch einzelner Komponenten

Page 25: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

25

VERBRAUCH EINZELNER KOMPONENTEN

Prozessor

UART

Timer Typ 1

Timer Typ 3

ADC

110002700

220315100150300400315

Atmel 1280, 5V, 8MHz, in µA

Page 26: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

26

VERBRAUCH EINZELNER KOMPONENTEN

Prozessor

Alle Komponenten

TWI

Timer Typ 2

SPI

1100027002910

220315

100150300400315

Atmel 1280, 5V, 8MHz, in µA

Page 27: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

27

COMPILER

Verwendung von Optimierungen• Laufzeit optimieren (bei gcc –O2) – Hauptziel

der Compilerentwickler• Verwendung spezieller Instruktionen (SSE, …)

Einige Compiler können Spannungs-/Frequenzsteuerung in Programmen erzeugen

Page 28: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

28

PROGRAMMIERSTIL• Code Effizienz – kleinerer Code = kürzere

Ausführungszeit”race to idle”

• Einbeziehung der HW: Spezialhardware wie Timer (bzw. Darauf aufbauende Systemroutinen), Hardwarebeschleunigung

• ABER: Beachtung Verbrauch Spezial-HW vs. Implementierung in SW (z.B. Kommunikation alá UART vs. bitbanging)

Page 29: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

29

PROGRAMMIERSTIL• Lokale Variablen bzw. Globale Variablen• Lokale Variablen brauchen nicht initialisiert werden (bzw. im Speicher nicht angelegt warden)

• Pointer benutzen• Anstatt zusätzlich den Speicher zu kopieren bei

Funktionsaufrufen• Wird bei AMDs HSA in Zusammenspiel mit CPU/GPU genutzt

• Programmcode in den RAM Speicherhierarchie beachten: Je weiter

aussen, desto weniger Bits umdrehen

Page 30: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

30

WIRKUNG DER SOFTWARE

HW-Unterstützung weggerechnet bleibt nur die Laufzeit. Je kürzer das Programm läuft, desto kürzer ist bei gleichbleibendem Verbrauch die gesamt verbrauchte Energie.Speicheroptimierungen bringen dagegen nur bei großen Datenmengen, auf denen der Prozessor warten muss etwas, sind sonst nicht messbar.

Page 31: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

31

SPANNUNG ODER TRANSISTOREN SPAREN?

• Beispiel AMD FuryKarte (Anz. Shader)

Leistung

Takt(MHz)

Verbrauch(Watt)

Leistung/Watt

Fury X (4096) 116 1050 275 0,42Fury (3584) 105 1000 275 0,38Fury Nano (4096)

100 ~860 175 0,57

1. Ist Parallelität möglich, mehr Einheiten statt mehr Takt verwenden

2. “Sweet Spot” bei der Taktung beachten

Page 32: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

32

WAS REDUZIERT STATISCHE/ WAS DYNAMISCHE VERLUSTE?

Statisch DynamischSpezielle Hardware IM Gegenteil JAStrukturbreite JA JASchaltungsoptimierung

JA JA

Frequenzvariation NEIN JASpannungsvariation

JA JA

Clock Gating NEIN JAPower Gating JA NEINCompiler Nur bei HW-Nähe JAProgrammierstil NEIN JA

Page 33: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

33

WARUM VERWENDET MAN DIESE TECHNIKEN DANN NICHT DAUERND?

• Spezielle HW zu entwickeln ist sehr teuer und bei zu komplexer Aufgaben nicht geeignet• Strukturbreite finanziell nahe dem Ende• Schaltungsoptimierung nur in kleinem Rahmen

möglich und sehr teuer (vorgefertigte Libraries verwenden Standardzellen)• Frequenz-/Spannungsvariationen und Gating(=“race to

idle”) schließen sich gegenseitig aus

Page 34: ENERGIEVERBRAUCH & VERLUSTLEISTUNG REZNICEK ALEXANDER 1125076

34

REFERENZEN/BILDEREU-Richtlinie: http://www.computerbase.de/2014-07/vorgaben-energieverbrauch-pcs-netzteile-eu-617-2013/

Verlustleistung: http://ti.tuwien.ac.at/ecs/teaching/courses/didevo/slides/digital-design-lecture-slide-set-8-pdf

Bitcoin-Vergleich: https://en.bitcoin.it/wiki/Mining_hardware_comparison

Strukturbreite: http://www.golem.de/news/fertigungstechnik-der-14-nanometer-schwindel-1502-112524.html

P-State/Speed Shift: http://www.computerbase.de/2015-11/speed-shift-hoehere-skylake-effizienz-mit-update-fuer-windows-10/

Atmel 1280 Datenblatt: http://www.atmel.com/Images/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf

DVFS: http://processors.wiki.ti.com/index.php/DVFS_User_Guide

Big.Little-Konzept: http://elinux.org/images/8/8c/DVFS_for_ARM_CortexA15_A7.pdf

Bilder

Folie 5-Verlustleistung: http://ti.tuwien.ac.at/ecs/teaching/courses/didevo/slides/digital-design-lecture-slide-set-8-pdf

Folie 11-Antminer: https://www.bitmaintech.com/userfiles/image/00320140107163108061W8OK7DJt064E.png

Folie 13-MOSFET: https://upload.wikimedia.org/wikipedia/commons/3/34/Scheme_of_metal_oxide_semiconductor_field-effect_transistor.svg

Folie 14-Strukturbreite: http://www.golem.de/news/fertigungstechnik-der-14-nanometer-schwindel-1502-112524.html

Folie 15/16-Finfet-Bilder: http://maltiel-consulting.com/Intel_22nm_3D_Tri-Gate_FinFETs_Transistors_maltiel_semiconductor_consulting.html

Folie 19-i.MX28: https://blogs.mentor.com/embedded/blog/2012/08/27/what-is-dynamic-voltage-and-frequency-scaling-and-why-should-you-care

Folie 19-P-State/Speed Shift: http://www.computerbase.de/2015-11/speed-shift-hoehere-skylake-effizienz-mit-update-fuer-windows-10/

Folie 20-Atmel Consumption: http://www.atmel.com/Images/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf

Folie 22-Big.Little: http://cdnzz.ifanr.com/wp-content/uploads/2015/03/arm-big-little-3.jpg

Folie 22-Companion Core: http://www.mxphone.net/wordpress/wp-content/uploads/2012/02/nvidia_tegra_3_companion_core.jpg