Optimierung des Energieverbrauchs eingebetteter Software



Ähnliche Dokumente
NEWS von HZ.optimax-R39 Version 2012 SP1 Softwareneuerungen und Erweiterungen

Hilfe zur Urlaubsplanung und Zeiterfassung

Elektrischer Widerstand

Dieser Ablauf soll eine Hilfe für die tägliche Arbeit mit der SMS Bestätigung im Millennium darstellen.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Aufgaben Wechselstromwiderstände

QM: Prüfen -1- KN

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Professionelle Seminare im Bereich MS-Office

Zahlen auf einen Blick

Wollen Sie einen mühelosen Direkteinstieg zum Online Shop der ÖAG? Sie sind nur einen Klick davon entfernt!

Anwendungshinweise zur Anwendung der Soziometrie

Mitarbeiterbefragung als PE- und OE-Instrument

Zeichen bei Zahlen entschlüsseln

How to do? Projekte - Zeiterfassung

Simulation LIF5000. Abbildung 1

Praktikum Nr. 3. Fachhochschule Bielefeld Fachbereich Elektrotechnik. Versuchsbericht für das elektronische Praktikum

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

EO Oszilloskop. Inhaltsverzeichnis. Moritz Stoll, Marcel Schmittfull (Gruppe 2) 25. April Einführung 2

Mediumwechsel - VR-NetWorld Software

Klicken Sie mit einem Doppelklick auf das Symbol Arbeitsplatz auf Ihrem Desktop. Es öffnet sich das folgende Fenster.

Schnittstelle DIGI-Zeiterfassung

Werbemittelverwaltung

EMIS - Langzeitmessung

Datenaustausch mit Datenbanken

YouTube: Video-Untertitel übersetzen

teischl.com Software Design & Services e.u. office@teischl.com

Kurzanleitung MicroLite II und DataSuite

I P A S M M D Innovative Software zur Prozessoptimierung. Prozessoptimierung durch Mensch-Maschine-Diagramm

Die Ergebnisse dazu haben wir in der beiliegenden Arbeit zusammengestellt.

Eine Bürokratiekostenfolgenabschätzung zum zweiten Gesetz für moderne Dienstleistungen am Arbeitsmarkt im Hinblick auf die Einführung einer Gleitzone

Was meinen die Leute eigentlich mit: Grexit?

Algorithmische Kryptographie

HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Gekonnt aufnehmen und MAGIX Fotoshows präzise vertonen

Schritt für Schritt zur Krankenstandsstatistik

Kurzbeschreibung GVB-Marktstudie. Top-Anbieter von Telematiksystemen in der Transportlogistik

P = U eff I eff. I eff = = 1 kw 120 V = 1000 W

Kurzeinführung LABTALK

Orderarten im Wertpapierhandel

Bedienungsanleitung für das Tektronix Oszilloskop TDS 2002B

Handbuch ECDL 2003 Basic Modul 6: Präsentation Diagramm auf einer Folie erstellen

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test?

The ToolChain.com. Grafisches Debugging mit der QtCreator Entwicklungsumgebung

Oszilloskope. Fachhochschule Dortmund Informations- und Elektrotechnik. Versuch 3: Oszilloskope - Einführung

Buddy - Algorithmus Handbuch für Endnutzer Stand

Registrierung am Elterninformationssysytem: ClaXss Infoline

Hausaufgabe: Der Energieeffizienz auf der Spur

Den Durchblick haben. VOLKSBANK BAD MÜNDER eg. Online aber sicher: Unsere Produkt- und Sicherheitshotline hilft und informiert

SSI WHITE PAPER Design einer mobilen App in wenigen Stunden

Wechselstromwiderstände

3.14 Die Programmieroberfläche Programmierung

ACDSee Pro 2. ACDSee Pro 2 Tutorials: Übertragung von Fotos (+ Datenbank) auf einen anderen Computer. Über Metadaten und die Datenbank

Kennlinienaufnahme elektronische Bauelemente

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Einleitende Bemerkungen

Konfiguration der Messkanäle. Konfiguration der Zeitachse. Abb. 3: Konfigurationsmenü des Sensoreingangs A. Abb. 4: Messparameter Konfigurationsmenü

Mit exportiert man das öffentliche Schlüsselpaar. Die Datei, die dabei erzeugt wird heißt PublicKey_MediaMillionWebService.key.

Elektrische Energie, Arbeit und Leistung

3. GLIEDERUNG. Aufgabe:

5.12. Variable Temperaturgradienten über dem Scheibenzwischenraum

Bevor Sie mit den Umstellungsarbeiten beginnen, führen Sie bitte eine Datensicherung aus.

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

TP 6: Windenergie. 1 Versuchsaufbau. TP 6: Windenergie -TP 6.1- Zweck der Versuche:...

Microsoft Update Windows Update

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Die integrierte Zeiterfassung. Das innovative Softwarekonzept

Zimmertypen. Zimmertypen anlegen

Updateanleitung für SFirm 3.1

Online Schulung Anmerkungen zur Durchführung

Internet online Update (Internet Explorer)

Informationen zum neuen Studmail häufige Fragen

Stapelverarbeitung Teil 1

VR-NetWorld Software 5.x - Umstellung auf SEPA-Zahlungsverkehr - Konten / SEPA-Überweisungen -

plus Flickerfeld bewegt sich nicht

Kurzanleitung So geht s

Schulberichtssystem. Inhaltsverzeichnis

1. Die Maße für ihren Vorbaurollladen müssen von außen genommen werden.

Überprüfung der digital signierten E-Rechnung

Projekte Packen, Kopieren und Versenden

out-bound die smarte Call-Center Software für Telemarketing Version 1.8 Kontaktsuche / Dublettensuche Anzeige der Bearbeitungszeit

Internet Explorer Version 6

Partnerportal Installateure Registrierung

Einführung in. Logische Schaltungen

Anwenderdokumentation

Übungsaufgaben zum 2. Versuch. Elektronik 1 - UT-Labor

Technical Note Nr. 101

Dokumentation (Handbuch Galileo-Auszug) Kundenbenachrichtigung

macs Support Ticket System

Lernwerkstatt 9 privat- Freischaltung

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

AZK 1- Freistil. Der Dialog "Arbeitszeitkonten" Grundsätzliches zum Dialog "Arbeitszeitkonten"

Anwendungsbeispiele. Neuerungen in den s. Webling ist ein Produkt der Firma:

LabView7Express Gerätesteuerung über LAN in einer Client-Serverkonfiguration. 1. Steuerung eines VI über LAN

14. Minimale Schichtdicken von PEEK und PPS im Schlauchreckprozeß und im Rheotensversuch

Wie benutzt man TortoiseSVN

Transkript:

Optimierung des Energieverbrauchs eingebetteter Software Welchen Einfluss hat eine Programmänderung auf den Energiebedarf einer Applikation? Welcher Programmteil verursacht den größten Energieverbrauch? Bei der Entwicklung von batteriebetriebenen Geräten wie Mobiltelefonen kommt diesen Fragen elementare Bedeutung zu. War es bisher sehr aufwendig, wenn nicht unmöglich, Strommessungen bestimmten Programmstellen zuzuordnen, so wird es mit der hier vorgestellten Messanordnung zum Kinderspiel. Der Entwicklung energieoptimierter Software steht damit nichts mehr im Wege. Kenndaten wie Standby-Zeit oder Betriebszeit können entscheidend für den Erfolg eines Produktes sein. Aus diesem Grund werden heute beim Design batteriebetriebener Geräte umfassende Maßnahmen zur Reduktion des Energieverbrauchs ergriffen. Typische Maßnahmen sind: Einsatz stromsparender Bauteile mit Power Saving Modes Hoher Integrationsgrad Variation der CPU-Frequenz Variation der Versorgungsspannung Einsatz von Microcontrollern mit Power Saving Features, Cache und On-Chip Speicher Eine optimale Reduktion des Energieverbrauchs kann allerdings nur dann gelingen, wenn die Software, die das Gerät steuert, alle Sparmöglichkeiten der Hardware konsequent ausnutzt. Die Energie ist das Produkt aus Strom, Spannung und Zeit. Jeder dieser Parameter kann durch die Steuer-Software beeinflusst werden. Während des Entwicklungsprozesses muss deshalb immer wieder untersucht werden, ob die drei Parameter abhängig vom Betriebsmodus der Anwendung optimal aufeinander abgestimmt sind. Es gilt beispielsweise zu überprüfen: ob der Microcontroller im richtigen Power Saving Mode ist wie sich Programmänderungen auf den Stromverbrauch auswirken ob unerwartete Stromspitzen auftreten Eine solche Überprüfung erfordert eine Messanordnung, die neben dem Programm- und Datenfluss der Steuersoftware zeitgleich den Strom- und Spannungsverlauf misst, aufzeichnet und anschließend auf einfache Weise in Bezug bringt. 1

Anforderungen Um den Energieverbrauch für jeden Punkt des Programms angeben zu können, müssen folgende Messdaten erfasst werden: Der zeitliche Programmablauf der Steuersoftware; dazu wird heute üblicherweise ein Debugger mit einem dazugehörigen Real-Time Trace verwendet. Der Strom- und Spannungsverlauf während der Programmlaufzeit; als Messgerät bietet sich hier ein LogicAnalyzer mit einer Analog/DigitalProbe an. Die eigentliche Herausforderung besteht darin, die Messung des Programmflusses mit der Messung von Strom und Spannung zu korrelieren. Beim Einsatz nichtintegrierter Mess- Hardware, z.b. Einzelgeräte unterschiedlicher Hersteller, ist dies grundsätzlich mit erheblichem Aufwand verbunden, oftmals sogar unmöglich. Ebenso ist die Analyse und statistische Auswertung schwierig und wenig komfortabel. Lösung Bei der integrierten Messanordnung von LAUTERBACH aus Debugger, Real-Time Trace und Logic Analyzer ist jedes dieser Geräte mit einem Zeitzähler ausgestattet. Zu Beginn der Messung werden diese Zeitzähler synchronisiert. Jede einzelne Aufzeichnung wird mit einem Zeitstempel versehen und kann deshalb mit den Aufzeichnungen der jeweils anderen Messgeräte korreliert werden. Damit lässt sich exakt darstellen, wie viel Leistung zu einem bestimmten Zeitpunkt der Programmausführung von der Applikation verbraucht wurde. Zur Ermittlung des Programmablaufes kommt ein Realtime-Trace zum Einsatz der zum Beispiel das ETM- oder NEXUS-Traceprotokol aufzeichnet. Zur Ermittlung des Strom- und Spannungsverlaufes kommt ein Logikanalysator mit AnalogProbe zum Einsatz. Diese ermöglicht die Echtzeitmessung von bis zu 4 Spannungskanälen und 3 Stromkanälen. Des weiteren ist die Echtzeittriggerung auf Spannungs-, Strom- und Leistungswerte unterstützt. Für die Strommessung muss in der Versorgungsleitung der Applikation ein Shuntwiderstand vorgesehen werden. Die über diesen Widerstand abfallende Spannung wird von der Analog- Probe gemessen. Dabei ist die gemessene Spannung abhängig vom Widerstandswert und proportional zum Strom. Diese Messmethode ist sehr verbreitet und wird von vielen Evaluierungs-Schaltungen unterstützt. 2

Strom- und Spannungskanäle und die Werte der Shuntwiderstände werden in einem Eingabefenster aktiviert (s. Abb. 1). Abb.: 1 Gleiches gilt für die Leistungskanäle, deren Berechnung aus dem gemessenen Strom und der gemessenen Spannung erfolgt. Alternativ kann auch eine feste Spannung für die Berechnung angegeben werden. Strom und Spannung lassen sich ebenso wie die daraus berechnete Leistung als zeitabhängige Kurven oder Tabellen darstellen. Alle zeitabhängigen Darstellungen (Programmfluss, Chart, Strom, Spannung, Leistung) werden durch die Track-Funktion synchronisiert. Ein Maus-Klick in eines der Fenster und alle anderen Darstellungen werden automatisch nachgeführt. Durch diese enge Kopplung lassen sich die Ursachen einer hohen Leistungsaufnahme schnell der entsprechenden Programmstelle zuordnen. In dem unten gezeigten Beispiel (s. Abb. 2) werden nacheinander 8 Leuchtdioden eingeschaltet und anschließend wird eine Sinusspannung erzeugt. In der Strom-Zeit-Kurve (1) ist der treppenförmig ansteigende Stromverbrauch dargestellt. Die Sinusspannung ist in der Spannungs-Zeit-Kurve (2) zu erkennen. In der Strom- (1), Spannungs- (2) und Chartdarstellung (3) ist die Funktion LED3_on durch die senkrechte, schwarze Track-Linie markiert. 3

Im Trace.List -Fenster (4) ist die entsprechende Programmzeile durch einen blauen Balken gekennzeichnet. Abb.: 2 Statistische Auswertungen werden nach jedem Programmstop automatisch ausgeführt. Sie liefern Informationen über Minimal-, Maximal- und Mittelwert des Energieverbrauches der ausgeführten Funktionen (s. Abb. 3). Ebenso wird für jede Funktion der absolute und prozentuale Anteil am Gesamtenergieverbrauch ermittelt. Energiehungrige Programmteile können damit sehr leicht erkannt werden. In ihnen steckt das größte Potential zur Energieeinsparung. Abb.: 3 Die statistische Auswertung zeigt den Energieverbrauch der einzelnen Funktionen. Im Balkendiagramm (5) ist zu erkennen, dass die Funktion LED8_on (alle LEDs an) den höchsten Energieverbrauch hat. 4

Als weitere Funktion steht eine Triggereinheit zur Verfügung. Durch die Angabe von Grenzwerten oder Bereichen für Strom, Spannung und Leistung werden Triggerereignisse definiert. Deren Auftreten wird von der Triggereinheit dazu benutzt, die Aufzeichnung gezielt ein- und auszuschalten (selektiver Trace). Alternativ kann auch ein Triggersignal erzeugt werden, das die Programmausführung stoppt. Zusammenfassung Die integrierte Messanordnung für die Energieanalyse eröffnet dem Entwickler eine einfache und schnelle Möglichkeit, Zusammenhänge zwischen einzelnen Programmpunkten und der zugehörigen Strom- bzw. Leistungsaufnahme zu erkennen. Durch die einfacher Handhabung der Messanordnung und Integration in eine bekannte Debug Bedienoberfläche ist Energieanalyse ist ab sofort nicht mehr nur ein Thema für Spezialisten. Jedem Entwickler ist es damit möglich effektiv den Energiebedarf einer Applikation zu optimieren. Elmar Stahleder, Juni 2007 5