Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 1 2.2 Systems-on-Chip (SoC) SoC sind die konsequente.

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmentheorie 08 – Dynamische Programmierung (1)
Advertisements

Programmieren im Großen von Markus Schmidt und Benno Kröger.
Leistung.
Informatik 12 | DAES Compilerbau Wintersemester 2010 / 2011 Dr. Heiko Falk Technische Universität Dortmund Lehrstuhl Informatik 12 Entwurfsautomatisierung.
2.3 Register-Transfer-Strukturen
0 Energieeffiziente Compilierung für Digitale Signalprozessoren Markus Lorenz Peter Marwedel Rainer Leupers Projekt Prozessorarchitekturen und Compilertechniken.
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Prof. Dr. Uwe Brinkschulte Lehrstuhl für Eingebettete Systeme Robert-Mayer-Straße Sekretariat: Linda Stapleton,
Erschließen von semantischen Referenzen mit Ontology-Reasoning-Werkzeugen Das Ziel dieser Masterarbeit war die Erweiterung des ORBI Systems um ein Inferenz-System.
On a Buzzword: Hierachical Structure David Parnas.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Was ist Refactoring? Bevor man die Integration angeht, mag es angebracht sein, den.
es gibt (fast) nichts, was nicht anders gemacht werden könnte
Java: Objektorientierte Programmierung
Java: Grundlagen der Sprache
DOM (Document Object Model)
MyCoRe My Content Repository. Entstehung Seinen Ursprung hat MyCoRe in der MILESS- Software der Universität Essen (Dokumentenserversoftware). Benutzer.
Einsatz von XML zur Kontextspeicherung in einem agentenbasierten ubiquitären System Faruk Bagci, Jan Petzold, Wolfgang Trumler und Theo Ungerer Lehrstuhl.
Prof. Dr. Uwe Brinkschulte Lehrstuhl für Eingebettete Systeme Robert-Mayer-Straße Sekretariat: Linda Stapleton,
2.5. Mikrocontroller-Komponenten
Vorlesung 2 Rechnerarchitektur Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Rechnerarchitektur Vorlesung 2 Peter B. Ladkin
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
4. Mikrocontroller-Komponenten
5. Beispiele verschiedener Mikrocontroller
3. Mikrocontroller 3.4 Auswahlkriterien für den Einsatz von Mikrocontrollern (aus der reichhaltigen verfügbaren Palette) Aufgabenstellung Messen Steuern.
Sicherheit von mobilem Code Hauptseminar: Sicherheit in vernetzten Systemen Sicherheit von mobilem Code Oliver Grassow.
M A P K I T Management eines J2EE basierten eCommerce Systems am Beispiel des ATG Dynamo Applikationsservers und BMC Patrol als Managementframework.
2.3 Register-Transfer-Strukturen
EDO-RAM,SDRAM,RDRAM,DDR2-SDRAM.
Entwicklung verteilter eingebetteter Systeme - Einführung
Das Wasserfallmodell - Überblick
Plattformunabhängige Programmiersprache
Duo- und Quad Prozessor-Architektur
CPLD/FPGA-Programmierung mit E-blocks. Wozu die CPLD/FPGA-Programmierung untersuchen? Zusammenhang zur modernen Digitalen Elektronik Verschwinden der.
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
EXCEL PROFESSIONAL KURS
Warum brauche ich ein CMS – Content Management System?
INTEL Pentium 4 Prozessor
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Dipl.-Päd. Irene Tatzgern, MA
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Thread Synchronisation in JAVA
Interne Speicher © Christian Barby FIN
Programmieren ... in C++ Prof. Dr.-Ing. Franz-Josef Behr, HfT Stuttgart Programmeiren I.
Fingerprint Matching On Card
Informatik II Grundlagen der Programmierung Programmieren in C Funktionen, Adressen, Zeiger Hochschule Fulda – FB ET Sommersemester 2014
Von Sven, Tobias und Philippe. Inhalt: 1.Geschichte 2.Grundkonzepte der Sprache 3.Anwendungsarten 4.Ähnliche Programmiersprachen 5.Konkrete Beispiele.
… erste Schritte mit einem programmierbaren Mikrocontroller
Grundlagen, Prinzipien und Aufgaben eines Betriebssystems
XML Die “E-Lance Economy” oder die “Digital Economy” stellt neue Anforderungen an Funktionalität im Netz. XML wurde vom World Wide Web Consortium (W3C)
Referat von Marcel Poppen & Oliver Lennartz
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 1 - Prof. Dr. Uwe Brinkschulte Middleware:in verschiedenen Kontexten gebrauchter Begriff,
Prof. Dr. Uwe Brinkschulte
Gliederung der Vorlesung
Interoperabilität in Digitalen
Mainboard Kolbe, Klein, Hollermann.
Von Marcel Poppen & Oliver Lennartz
Aktueller Stand der Technik. Auf dem Markt sind heute bereits 64-Bit Mikrocontroller. Die meiste Verwendung finden allerdings noch immer die 8-Bit Modelle.
Der Taskmanager ist Bestandteil des Betriebssystems, der als Prozessmanager Prozessmanager unter anderem die aktuell laufenden Programme und Prozesse.
RAID-Systeme - Standards - Leistungsmerkmal - Redundanz - Datensicherheit eine Präsentation von Jochen Throm an der Berufsakademie Mosbach.
A. Steininger TU Vienna 1 Multicore eleganter Work-Around um die Design-Crisis Problemverschiebung in die SW (= auf höhere Ebene) ABER: hohe Parallelität.
1. Betreuer: Prof. Dr. Jörg Striegnitz 2. Betreuer: Dr. Martin Schindler Kontextsensitive Autocompletion für Klassendiagramme in der UML/P Florian Leppers.
Rechen- und Kommunikationszentrum (RZ) Selektionsstrategien auf Graphstrukturen Sven Porsche Seminarvorträge Aachen.
Das Entwurfsmuster Model-View-Controller
 Präsentation transkript:

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Systems-on-Chip (SoC) SoC sind die konsequente Fortsetzung der grundlegenden Mikrocontroller-Idee: Aufbau eines Systems mit einer minimalen Anzahl externer Komponenten SoC: realisiere das ganze System mit einem einzigen Chip Diese Idee ist Gegenstand vieler verschiedener Forschungsrichtungen!

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Systems-on-Chip (SoC) Interessante SoC Forschungsrichtungen: q Methoden für eine systematische SoC Entwicklung q Prozessorkerne als Benutzerbibliotheken q Rekonfigurierbare SoCs q Integration verschiedener Prozessorkerne q Selbstorganisation

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Systems-on-Chip (SoC) Methoden für eine systematische SoC Entwicklung Notwendige Schritte: Design, Verifikation & Test q SoC kombinieren oft digitale und analoge Komponenten q Diese Komponenten müssen entwickelt, integriert und getestet werden q Klassische Hardware-Beschreibungssprachen (VHDL, Verilog) bewegen sich auf niederer Ebene im Vergleich zu Sprachen der Software-Entwicklung

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Systems-on-Chip (SoC) Idee:man übertrage die Erfahrungen aus der Software-Entwicklung auf die Hardware- Entwicklung Man definiert “High-Level-Hardware-Beschreibungssprachen”, die folgende aus der Software-Entwicklung bekannte Konzepte einzuführen:  Objektorientierung (object orientation)  Vererbung (inheritance)  Wiederverwendung (resuse)

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Systems-on-Chip (SoC) Beispiele: SystemC:Open System C Initiative SystemVeriLog:System Verilog Organization Cynthesizer:Forte Design Systems

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Systems-on-Chip (SoC) SystemC ist sehr ähnlich zu C++ Vorteile: q Hardware-Komponenten können als Objekte mit Schnittstellen (interfaces) und Funktionalität (functionality) definiert werden q ähnliche Sprachen zur Soft- und Hardware-Entwicklung ermöglichen zusätzliche Synergie-Effekte q Es können gemeinsame Werkzeuge für Soft- und Hardware verwendet werden q Der Datenaustausch wird erleichtert q Der Aufwand für das Erlernen durch den Benutzer wird verringert q Formale Hochsprachen erlauben eine Verifikation auf hoher Ebene

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Systems-on-Chip (SoC) SoC Entwicklung mit einer Hochsprache

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Systems-on-Chip (SoC) Das Testen kann unterstützt werden durch:  eingebettete Teststrukturen  Sichtbarmachung interner Hardware-Zustände  eingebauten Selbsttests  Herausforderung: die Entwicklung effizienter Selbsttests für analoge und digitale Teile eines SoC mit geringen Kosten und geringer zusätzlicher Fläche  Design for Testability. Denke bereits während der Entwicklung an den Test

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Systems-on-Chip (SoC) Prozessorkern-Bibliotheken Grundidee:liefere einen Prozessor nicht als Hardware, sondern als Bibliothek aus.  Der Anwender kann den Prozessorkern dann leicht in seine eigene FPGA oder ASIC Entwicklung integrieren  Viele Prozessorkerne sind bereits als ASIC-Bibliothek verfügbare, z.B. ARM PowerPC Kern

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Systems-on-Chip (SoC) Erstellung eines SoC mit einer Prozessorkern-Bibliothek:

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Systems-on-Chip (SoC) Gegenwärtige Herausforderungen an die Forschung:  Versuche das Gleiche mit FPGAs  Für kleine Stückzahlen ist eine FPGA-Entwicklung deutlich preiswerter als eine ASIC-Entwicklung  FPGA-Lösungen können “im Haus” erstellt werden  Wegen der geringeren Logikdichte von FPGAs sind bisher aber erst kleine Prozessorkerne (z.B. 8051) verfügbar

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Systems-on-Chip (SoC) Rekonfigurierbare SoC Umkehrung der Idee der Prozessorkern-Bibliotheken Ein rekonfigurierbarer SoC besteht aus  einem Prozessorkern  Speicher  einem FPGA Array Während der Prozessorkern und der Speicher unveränderlich sind, kann der FPGA-Anteil rekonfiguriert werden

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Systems-on-Chip (SoC)

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Systems-on-Chip (SoC) Dieser Ansatz ist in doppelter Hinsicht ein guter Kompromiss:  Prozessorkern und Speicher können in optimaler Weise realisiert werden Nur der rekonfigurierbare Anteil nutzt die hinsichtlich Geschwindigkeit und Logikdichte weniger optimale FPGA- Technologie  Der Anwender kann die Menge an “Spezial-Hardware” für eine gegebene Anwendung selbst bestimmen Der rekonfigurierbare Teil kann so personalisiert werden, dass er eine Aufgabe viel schneller als mittels Software lösen kann

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Systems-on-Chip (SoC) Es können drei Typen von rekonfigurierbaren SoC unterschieden werden:  Statisch Rekonfigurierbar Die Rekonfiguration benötigt längerer Zeit (Sekunden bis Minuten) Das SoC wird einmal statisch für eine Aufgabe konfiguriert Diese Konfiguration ändert sich zur Laufzeit niemals

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Systems-on-Chip (SoC)  Semi-statisch Rekonfigurierbar Kann das FPGA schneller (Millisekunden) rekonfiguriert werden  Das System kann zur Laufzeit rekonfiguriert werden Eine Aufgabe kann dann in Unteraufgaben zerlegt werden Diese Unteraufgaben werden nach dem Pipeline-Prinzip durchgeführt Während eine Unteraufgabe in Software ausgeführt wird, kann das FPGA für die nächste Unteraufgabe rekonfiguriert werden

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Systems-on-Chip (SoC)  Dynamisch Rekonfigurierbar Neue FPGA Arrays ermöglichen eine sehr schnelle Rekonfiguration (Mikrosekunden) Ein andere Möglichkeit ist die “Vorab-Konfiguration” bestimmter Teile des Arrays und das Umschalten durch ein Konfigurations-Register  Das FPGA kann ‘on-the-fly’ rekonfiguriert werden Das FPGA kann während der Ausführung einer Prozessorkern-Instruktion rekonfiguriert werden

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Systems-on-Chip (SoC) Weiterhin zu unterscheiden:  Feinkörnig Rekonfigurierbare SoC Rekonfiguration auf Gatterebene, die Verschaltung von Gattern und Registern kann verändert werden.  Grobkörnig Rekonfigurierbare SoC Rekonfiguration auf Ebene von Funktionseinheiten (ALU, Speicher, …). Diese können neu vernetzt oder im Funktionsumfang verändert werden. (Schneller und einfacher als feinkörnige Rekonfiguration)

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Systems-on-Chip (SoC) Beispiele rekonfigurierbarer SoC  AT94X Reihe von Atmel statisch feinkörnig rekonfigurierbar AVR8 Prozessorkern FPGA Array mit bis zu 40k Gattern Bei einigen Modellen (AT94S) geschützter Konfigurationsspeicher (Ausleseschutz)

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Systems-on-Chip (SoC)  MorphoSys (UCI) dynamisch grobkörnig rekonfigurierbar 32-Bit-TinyRISC-Prozessorkern 64 reconfigurierbare Zellen Jede Zelle enthält –Logik –ALU –Register File Die Rekonfiguration “on the fly” in der Geschwindigkeit des Prozessorkerns geschieht durch Umschalten vorgesetzter Kontext-Wörter Anwendung: Bildbearbeitung

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Systems-on-Chip (SoC) HoneyComb Architecture start node routing node occupied paths adaptivly routed connection of distance i  HoneyComp (Universität Karlsruhe)  Dynamisch adaptive und rekonfigurierbare Datenpfade zwischen Zellen (Rechenzellen, Speicherzellen, Ein-/Ausgabezellen)

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Systems-on-Chip (SoC) Integration unterschiedlicher Prozessorkerne  Kombination von Mikrocontrollern und Signalprozessoren  Eine Möglichkeit, die große Anzahl heute verfügbarer Transistoren auf einem Chip zu nutzen  Aufgaben des Mikrocontroller-Teils:Ausführung von Steuer- und Regelanwendungen in Echtzeit Signalprozessor-Teils: optimierte Ausführung von Berech- nungen auf Datenströmen mit maximalem Durchsatz

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Systems-on-Chip (SoC) Beispiele: TriCore, TriCore 2 (Infineon, TriCore kombiniert drei Teile: ein RISC Prozessorkern mit Mikrocontroller-Peripherie und einer Hochgeschwindigkeits-Multiplizier-/Addier-Einheit  Daher ist TriCore ein erster Schritt  Er integriert Teile eines Signalprozessors in einen Mikrocontrollerkern  Es gibt immer noch einen einzigen Kern

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Systems-on-Chip (SoC) Die Integration eines vollständigen Mikrocontrollerkerns mit einem Signalprozessor ist immer noch eine Herausforderung, da:  die Programmausführung eines Mikrocontrollers und eines Signalprozessors total unterschiedlich ist  ein Mikrocontroller versteckt seine interne Mikrorachitektur durch eine Architektur-Ebene (wie bei Mikroprozessoren)  die Parallelität ist unter Kontrolle des Prozessorkerns  ein Signalprozessor offenbart dem Anwender seine Mikroarchitektur  für maximale Effizienz ist die Parallelität unter Kontrolle des Anwenders

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Systems-on-Chip (SoC) Sogar einfache Signalprozessoren ermöglichen den direkten Zugang zu ihren internen Komponenten:

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Systems-on-Chip (SoC) Jeder Teil kann direkt durch das Instruktions-Wort gesteuert werden  Ein harmonische Integration beider Konzepte ist eine interessante Aufgabe  VLIW oder EPIC könnten einen vielversprechenden Ansatz darstellen

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Systems-on-Chip (SoC) Selbstorganisation  Neuer Forschungsaspekt  Betrifft nicht nur SoC  Daher gesonderter Abschnitt später

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Energiespar-Techniken  Microcontroller werden mehr und mehr in kleinen, mobilen Geräten genutzt (Ubiquitous Computing, Pervasive Computing)  Die verfügbare Energie wird durch eine Batterie begrenzt  Hauptanforderung: Erzielung einer maximalen Betriebszeit mit der verfügbaren Energie  Wärmeabgabe ist ein anderer Grund, den Energieverbrauch zu reduzieren

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Energiespar-Techniken Präzisierung der Begriffe:  Energie (Energy) und Leistung (Power)  Leistung (P) ist Energiefluss (E) pro Zeit (T) P = E / T bzw. E = P T  Einheiten:Leistungkg m 2 / sec 3 = Joule / sec = Watt Energie kg m 2 / sec 2 = Joule = Wattsekunde  Auf elektrische Geräte bezogen: Leistung ist aufgenommene bzw. verbrauchte Energie pro Zeit (Leistungsaufnahme, Verlustleistung)

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Energiespar-Techniken Beispiel:  Mikrokontroller mit Leistungsaufnahme 10 Watt => jede Sekunde werden 10 Wattsek. Energie verbraucht nach 1 Minute wurden 600 Wattsek verbraucht  Verringerung des Energieverbrauchs und der Leistungs- aufnahme sind verwandte, jedoch nicht identische Ziele  Zur Verlängerung der Batterielebensdauer => Optimierungsziel Verringerung des Energieverbrauchs  Zur Reduktion der Temperatur => Optimierungsziel Verringerung der Leistungsaufnahme

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Energiespar-Techniken Hauptwege zur Reduktion des Energieverbrauchs bzw. der Leistungsaufnahme:  Verringerung der Taktfrequenz  Verringerung der Versorgungsspannung  Optimierung der Mikroarchitektur

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Energiespar-Techniken Reduktion der Taktfrequenz  Einfache Maßnahme  Für CMOS Schaltungen gilt idealerweise: P = c d  F ~ F  Das bedeutet: Halbierung der Taktrate entspricht einer Halbierung der Leistungsaufnahme  Auf konstante Zeit T k gesehen ist auch der Energieverbrauch proportional zur Taktrate E k = P  T k = c d  F  T k ~ F

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Energiespar-Techniken Reduktion der Taktfrequenz  Problem: die Verarbeitungsgeschwindigkeit wird ebenfalls reduziert  Die Zeit T a zur Erfüllung einer Aufgabe ist umgekehrt proportional zur Taktrate T a = c a / F ~ 1 / F  Der Energieverbrauch zur Erfüllung einer Aufgabe ist daher unabhängig von der Taktrate E a = P  T a = c d  F  T a = c d  F  c a / F = c d  c a = konstant

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Energiespar-Techniken Reduktion der Taktfrequenz  Für CMOS Schaltungen gilt realerweise: P = P s + P d = c s + c d  F  Zusätzliche Verlustleistung P s durch Leckströme, unabhängig von der Taktfrequenz, wachsen mit zunehmender Integrationsdichte 1)  Es folgt für den Energieverbrauch E a = P  T a = (c s + c d  F)  c a / F = c s  c a /F + c d  c a  Mit abnehmender Taktfrequenz sinkt die Leistungsaufnahme, der Energieverbrauch wächst jedoch 1) bei Mikrocontrollern meist noch vernachlässigbar

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Energiespar-Techniken Reduktion der Versorgungsspannung  Nach dem Ohm’schen Gesetz gilt: P = U  I = U 2 / R ~ U 2  Dies bedeutet: 70% Versorgungsspannung bewirken 50% Leistungsaufnahme  Hält man die Taktfrequenz zunächst konstant, so gilt für den Energieverbrauch über eine Zeit T k bzw. zur Erfüllung einer Aufgabe in der Zeit T a : E k = P  T k ~ U 2 E a = P  T a ~ U 2

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Energiespar-Techniken Reduktion der Versorgungsspannung und Taktfrequenz  Variiert man Versorgungsspannung und Taktfrequenz gemeinsam, so gilt (Leckströme vernachlässigt): P = c g  F  U 2 ~ F  U 2  Versorgungsspannung und Taktfrequenz sind jedoch nicht unabhängig, für die maximale Taktfrequenz gilt: F = c f  U ~ U  Daraus erhält man die Kubusregel für die Leistungsaufnahme: P=c g  c f  U 3 ~ U 3 =c g / c f 2  F 3 ~ F 3

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Energiespar-Techniken Reduktion der Versorgungsspannung und Taktfrequenz  Auf konstante Zeit T k betrachtet gilt für den Energieverbrauch ebenfalls: E k = P  T k ~ U 3 ~ F 3  Zur Erfüllung einer Aufgabe ergibt sich durch die umgekehrte Proportionalität der Ausführungszeit T a zur Taktfrequenz: E a = P  T a = c g  c f  U 3  c a / F = c g  c f  U 3  c a / (c f  U) = c g  c a  U 2 = c g / c f 2  F 3  c a / F = c g  c a / c f 2  F 2 ~ F 2 ~ U 2

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Energiespar-Techniken Forschungsansätze:  Optimierung der Taktfrequenz für die Anwendung  z.B. für Echtzeitsysteme: Anpassen der Taktfrequenz und Versorgungsspannung an die Deadlines  Ist die Deadline noch weit entfernt, kann die Verarbeitungsgeschwindigkeit und damit der Energiebedarf bzw. Leistungsaufnahme reduziert werden  Ist die Deadline nahe, werden die maximale Taktfrequenz und Versorgungsspannung genutzt  Ein geschlossener Regelkreis kann Taktfrequenz und Versorgungsspannung steuern

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Energiespar-Techniken Optimierung der Mikroarchitektur  Die bisher beschriebenen Ansätze reduzieren auch die Verarbeitungsgeschwindigkeit  Ein vielversprechende Idee: Optimierung der Mikroarchitektur zur Reduktion der Leistungsaufnahme ohne gleichzeitige Reduktion der Verarbeitungsgeschwindigkeit  Ansatzpunkte der Optimierung: Reduktion externer Busaktivitäten Statisches Power-Management Dynamisches Power-Management Erhöhung der Code-Dichte

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Energiespar-Techniken Reduktion der externen Busaktivitäten:  RISC Load-/Store Architekturen arbeiten hauptsächlich mit den internen Registern  Die Bus-Schnittstelle wird so für viele Operationen nicht benötigt und kann abgeschaltet werden  Ein umfangreicher interner Registersatz hilft, externe Buszugriffe zu reduzieren  Unterstützung für schmale Datentypen kann dies ebenfalls  Während eines 8-Bit Transfers können die oberen 24 Bit einer 32-Bit Busschnittstelle abgeschaltet bleiben

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Energiespar-Techniken Statisches Power Management:  Spezielle Instruktionen deaktivieren gerade nicht benötigte Komponenten wie Nicht-flüchtigen Speicher Ein-/Ausgabeeinheiten Teile der ALU  Flüchtige Speicher können im Schlaf-Modus betrieben werden (z.B. durch Reduktion der Versorgungsspannung auf den zum Aufrechterhalten der Information notwendigen minimalen Level)  Schlaf-Modus des Prozessorkerns (z.B. durch statisches Steuerwerk mit 0 Hz minimaler Taktfrequenz)

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Energiespar-Techniken Dynamisches Power Management:  Der Prozessor deaktiviert automatisch nicht benötigte Komponenten  Dies kann z.B. in der Pipeline durchgeführt werden  Wenn schmale Datentypen unterstützt werden, können Teile der ALU und der internen Datenpfade deaktiviert werden  Für einen 8-Bit Datentyp werden z.B. die oberen 24 Bit einer 32 Bit ALU nicht gebraucht und können zur Leistungs- und Energieeinsparung deaktiviert werden

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Energiespar-Techniken Erhöhung der Code-Dichte:  Code-Dichte: Anzahl benötigter Befehle um eine Anwendung zu schreiben  Eine hohe Code-Dichte bedeutet, weniger Befehle sind notwendig  Dies spart aus zwei Gründen Energie: Weniger Speicher wird gebraucht Weniger Buszyklen zur Ausführung der Anwendung sind nötig  Von diesem Standpunkt aus ist CISC besser als RISC

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Energiespar-Techniken Weitere Forschungsansätze  Die vorigen Sektionen haben gezeigt: es besteht ein komplexer Zusammenhang zwischen Architektur, Mikroarchitektur und Leistungsaufnahme bzw. Energiebedarf  Es wäre günstig, so früh wie möglich während der Entwicklung eines Mikrocontrollers Abschätzungen des Energieverbrauchs und der Leistungsaufnahme vorzunehmen  Heute: Abschätzung auf Grundlage der Register-Transfer- und Gatter-Ebene  Künftig: Abschätzungen auf Mikroarchitekturebene

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Energiespar-Techniken  Idee: man nehme einen taktgenauen Mikroarchitektur- Simulator (zur Abschätzung der Verarbeitungsgeschwindigkeit)  Man füge Energie- und Leistungsmodelle zur Abschätzung hinzu  Diese Modelle schätzen den Energieverbrauch und die Leistungsaufnahme jeder Mikroarchitektur-Komponente für jeden Taktzyklus und jeden Zustand  Ein Standard-Simulator enthält nur Mikroarchitektur-Parameter  Energiemodelle beinhalten zusätzlich Technologie-Parameter

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Energiespar-Techniken Beispiel:

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Java und Java-Prozessoren für eingebettete Systeme Java bietet viele Vorteile für eingebettete Systeme:  Einfache Programmierung  Wiederverwendbarkeit  Robustheit  Reicher Satz von Standard-Klassenbibliotheken Java Bytecode ist  portabel  klein  sicher

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Java und Java-Prozessoren für eingebettete Systeme Java Pakete für eingebettete Systems (Sun):  Java Micro-Edition zum Programmieren einfacher Geräte mit grafischer Oberfläche, ggf. vernetzt  Java Wireless Toolkit  Connected Device Configuration  Connected Limited Device Configuration  Embedded Java  Java Card zur Programmierung von Smart Cards

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Java und Java-Prozessoren für eingebettete Systeme Probleme mit eingebetteten Echtzeitsystemen: q Die ursprüngliche Java-Sprachdefinition enthält keinerlei Echtzeit-Elemente q niedere Verarbeitungsgeschwindigkeit bei interpretierter JVM q Schlechtes Best-/Worst-Case Intervall für die Ausführungszeit bei JIT-compiler basierter JVM q Leistungsfähige Hardware für Flash-Compiler erforderlich q Verlust der Portabilität bei nativem Compiler q Garbage Collection wirft zusätzliche Probleme auf

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Java und Java-Prozessoren für eingebettete Systeme Lösungen: q Hybride Java Systeme q Echtzeit-Java q Java-Prozessoren

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Java und Java-Prozessoren für eingebettete Systeme Hybride Java Systeme: q Kombinieren Java mit einem Standard-Echtzeit-OS q Java selbst ist nicht echtzeitfähig q Die Echtzeit-Anteile einer Anwendung werden in C oder C++ geschrieben q Beispiele: JWorks (WindRiver) oder Java for OS-9 (Microware Systems)

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Java und Java-Prozessoren für eingebettete Systeme Echtzeit-Java Systeme: q machen Java selbst echtzeitfähig q Spracherweiterungen, z.B. zur Definition von Echtzeit- Threads, Synchronisation oder Speicherbereinigung sind erforderlich q Standard: m The Real-time Specifications for Java (RTSJ)

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Java und Java-Prozessoren für eingebettete Systeme Wie realisiert man Echtzeit-Java ? 1. Man benutzt eine echtzeitfähige JVM m Interpretation von Java Bytecode wie bei Standard Java m Garantierte Ausführungszeiten m Zusätzliche Funktionen für Echtzeiterweiterungen m Beispiele: PERC (Aonix), Jamaica (Aicas), SimpleRTJ m Problem: langsame Ausführung im Vergleich zu C wegen Interpretation

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Java und Java-Prozessoren für eingebettete Systeme 2. Man benutzt einen nativen Compiler m Java wird zu nativem Maschinencode übersetzt m Dies erlaubt eine schnelle Ausführung m Beispiel: JBed (Esmertec) m Probleme:Verlust der Bytecode-Vorteile wie Portabilität Kein dynamisches Klassenladen

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Java und Java-Prozessoren für eingebettete Systeme 3. JIT oder Flash Compiler m JIT (Just in Time) Compiler übersetzen den Code, wenn er gebraucht wird m Problem: Ausführungszeiten sind schwer abzuschätzen, großes Best-case Worst-case Intervall m Flash Compiler übersetzen die ganze Klasse, bevor sie geladen wird m Problem: der Compiler muss auf dem Zielsystem laufen => erhöht den Speicherbedarf beträchtlich (auch für JIT)

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Java und Java-Prozessoren für eingebettete Systeme 4. Java Prozessoren q Führen Java Bytecode direkt in Hardware aus q Optimiert für spezielle Java Eigenschaften wie m Stack-basierte Bytecode Operationen m Garbage Collection m Synchronisation => Hohe Verarbeitungsgeschwindigkeit für Bytecodes q Beispiele: PicoJava II (Sun), JEM (aJile systems), Delft (TU Delft), PCS1000(Patriot Coorp.), JSM (Universität Rostock), JOP (Universität Wien), Komodo (Universitäten Karlsruhe/Augsburg)

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Java und Java-Prozessoren für eingebettete Systeme Der Komodo-Mikrocontroller:

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Java und Java-Prozessoren für eingebettete Systeme Das Komodo-Projekt ist in fünf Ebenen gegliedert Der Mikrocontroller ist die niedrigste Ebene