Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 3. Mikrocontroller 3.4 Auswahlkriterien für den Einsatz.

Ähnliche Präsentationen


Präsentation zum Thema: "Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 3. Mikrocontroller 3.4 Auswahlkriterien für den Einsatz."—  Präsentation transkript:

1 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 3. Mikrocontroller 3.4 Auswahlkriterien für den Einsatz von Mikrocontrollern (aus der reichhaltigen verfügbaren Palette) Aufgabenstellung Messen Steuern Regeln Überwachen Mensch-Maschine-Schnittstelle Kombination obiger Punkte

2 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 2 3. Mikrocontroller allgemeine Leistungsmerkmale CISC- oder RISC-Architektur Von-Neumann oder Harvard-Architektur Wortbreite (4, 8, 16, 32 Bit) Adressraum

3 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 3 3. Mikrocontroller Architekturmerkmale des Prozessorkerns Welche Befehlsarten stehen zur Verfügung/werden benötigt ? Lade- und Speicher-Operationen logische & arithmetische Operationen Multiplikation & Division Schiebeoperationen, Barrel-Shifter Bit-Testoperationen Gleitkomma-Operationen

4 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 4 3. Mikrocontroller Architekturmerkmale des Prozessorkerns (fortg.) Welche Adressierungsarten sind erforderlich? Unmittelbar Direkt Register Registerindirekt Registerindirekt mit Autoinkrement, Autodekrement Registerindirekt mit Verschiebung Indiziert Indiziert mit Verschiebung Relativ komplexere Adressierungsarten

5 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 5 3. Mikrocontroller Architekturmerkmale des Prozessorkerns (fortg.) Welche Datenformate werden benutzt ? Ganzzahlen (16, 32, 64 Bit) Gleitkommazahlen (32, 64, 80 Bit) Einzelbit-Datentypen Zeichen und Zeichenketten Felder

6 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 6 3. Mikrocontroller Speichermerkmale Wieviel Programm- und Datenspeicher benötigt die Anwendung? Reicht die Größe des internen Daten- und Programmspeichers? Ist ein externer Busanschluss vorhanden? Was ist die max. externe Speichergröße?

7 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 7 3. Mikrocontroller Peripheriemerkmale Anzahl der: parallelen E/A-Kanäle seriellen E/A-Kanäle Interrupt-Eingänge Zähler/Zeitgeber A/D-Wandler D/A-Wandler DMA-Controller Echtzeitkanäle speziellen Peripherie wie CAN, I 2 C,...

8 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 8 3. Mikrocontroller Merkmale zur Ereignisbehandlung die Anzahl der Unterbrechungseingänge, eine Prioritäten-Steuerung bei mehrfachen Unterbrechungen, frei wählbare oder starre Prioritäten, das Sperren einzelner Unterbrechungen und die Reaktionszeit auf eine Unterbrechung.

9 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 9 3. Mikrocontroller Weitere technische Merkmale Taktfrequenz Taktzyklen pro Befehl Möglichkeit zum Anschluss langsamer Peripherie Energiebedarf Abwärme Stromspar-Modus

10 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller Ökonomische Merkmale Preis Verfügbarkeit Produktpflege Kundenunterstützung (Support)

11 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 3.5 Softwareentwicklung In der Regel: Cross-Development

12 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller Da die Entwicklung bis auf den letzen Schritt auf einem leistungsfähigen PC stattfindet =>die Entwicklungsumgebung ist zunächst ähnlich zur PC- Programmentwicklung: Versionsverwaltung, Editoren, Übersetzer, Debugger Es gibt jedoch Unterschiede!

13 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller Programmiersprachen ­ Früher Assembler ­ heute meist C, nur zeitkritische Teile in Assembler ­ bei leistungsfähigeren Mikrocontrollern auch C++, erfordert aber mehr Ressourcen und erzeugt mehr Dynamik ­ Java in der Regel zu ressourcen-intensiv ­ Es existieren jedoch einige Forschungsbemühungen in diese Richtung (siehe später)

14 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller Speicherbedarf ­ hier liegt ein wesentlicher Unterschied zur Programmentwicklung auf dem PC ­ bei Mikrocontrollern ist Speicher eine knappe Ressource ­ Übersetzer optimieren meist in Richtung Speicherbedarf (selten Geschwindigkeit) ­ Speichersparende Algorithmen sind gefragt ­ Algorithmen, die vor Jahren für den PC entwickelt wurden, können hier interessant werden (zu dieser Zeit hatten PCs etwa den Speicherumfang heutiger Mikrocontroller)

15 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller Adressfestlegung beim Binden ­ bei PCs: dynamische Adressfestlegung zur Laufzeit ­ nur so können mehrere Programme gleichzeitig bearbeitet werden ­ bei Mikrocontrollern: statische Festlegung der Adressen beim Binden (Locator) ­ Die Adressen müssen an das Speicherabbild (Memory Map) des Mikrocontrollers angepasst werden: Programm -> Festwertspeicher Daten -> Schreiblesespeicher Erste Programm-Instruktion, Interrupttabellen,..., müssen an die richtige Stelle gelegt werden

16 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller Beispiel einer Memory Map

17 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller Laden und Testen – Simulator auf dem Entwicklungssystem grober Test, da Zeitverhalten anders und Zielperipherie nicht vorhanden – Test auf dem Zielsystem mittels Download und Monitor näher am Zielsystem (Zeitverhalten, Peripherie), immer noch komfortables Testen, Monitor verändert aber Systemverhalten (Initialisierungen, Speichertypen,...) – Test auf dem Zielsystem ohne Monitor endgültige Zielumgebung, Programm im Festwertspeicher (ext. Programmieren oder Flash-Code-Loader), Ladezeiten lang, Test schwierig

18 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller

19 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 3.6 Forschungstrends 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!

20 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller Interessante SoC Forschungsrichtungen: q Methoden für eine systematische SoC Entwicklung q Prozessorkerne als Benutzerbibliotheken q Rekonfigurierbare SoCs q Integration verschiedener Prozessorkerne

21 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 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 Heutige Hardware-Beschreibungssprachen (VHDL, Verilog) bewegen sich auf niederer Ebene im Vergleich zu Sprachen der Software-Entwicklung

22 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 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)

23 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller Beispiele: SystemC:Open systen C Initiative SuperLog:S2K Superlog Organization CynApps:Forte Design Systems

24 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 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

25 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller SoC Entwicklung mit einer Hochsprache

26 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 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

27 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 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

28 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller Erstellung eines SoC mit einer Prozessorkern-Bibliothek:

29 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 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

30 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 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

31 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller

32 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 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

33 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 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

34 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 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

35 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 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 Feinköringe Rekonfiguration Das FPGA kann während der Ausführung einer Prozessorkern-Instruktion rekonfiguriert werden

36 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller Beispiele rekonfigurierbarer SoC FIPSOC (SIDSA coorp. statisch rekonfigurierbar 8051 Prozessorkern FPGA Array mit digitalen und analogen Zellen Analoge Zellen enthalten –konfigurierbare Verstärker –Vergleicher –Signal-Konverter

37 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller FIPSOC

38 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller MorphoSys (UCI) dynamisch 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

39 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 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

40 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 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

41 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 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

42 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller Sogar einfache Signalprozessoren ermöglichen den direkten Zugang zu ihren internen Komponenten:

43 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 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

44 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 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

45 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller Hauptwege zur Reduktion des Enerieverbrauchs: Verringerung der Taktfrequenz Verringerung der Versorgungsspannung Optimierung der Mikroarchitektur

46 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller Reduktion der Taktfrequenz Einfach und effektiv Für CMOS Schaltungen gilt: E ~ f Das bedeutet: Halbierung der Taktrate entspricht einer Halbierung des Energieverbrauchs Problem: die Verarbeitungsgeschwindigkeit wird ebenfalls reduziert

47 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller Reduktion der Versorgungsspannung Nach dem Ohmschen Gesetz gilt: E ~ V 2 Dies bedeutet: 70% Versorgungsspannung bewirken 50% Energieverbrauch Zusätzlich sind Versorgungsspannung und Taktfrequenz nicht unabhängig. Es gilt:f ~ V

48 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller Reduktion der Versorgungsspannung und der Taktfrequenz Bei gleichzeitiger Reduktion von Versorgungsspannung und Taktfrequenz gilt nach den vorigen Zusammenhängen: E ~ f * V 2 ~ f 3 ~ V 3 Kubus-Regel

49 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 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 Vearbeitungsgeschwindigkeit und damit der Energiebedarf reduziert werden Ist die Deadline nahe, werden die maximale Taktfrequenz und Versorgungsspannung genutzt Ein geschlossener Regelkreis kann Taktfrequenz und Versorgungsspannung steuern

50 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller Optimierung der Mikroarchitektur Die bisher beschriebenen Ansätze reduzieren auch die Verarbeitungsgeschwindigkeit Ein vielversprechende Idee: Optimierung der Mikroarchitektur zur Reduktion des Energiebedarfs ohne gleichzeitige Reduktion der Verarbeitungsleistung Ansatzpunkte der Optimierung: Reduktion externer Busaktivitäten Statisches Power-Management Dynamisches Power-Managementmanagement Erhöhung der Code-Dichte

51 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 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

52 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 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)

53 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 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 Energieeinsparung deaktiviert werden

54 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 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

55 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller Weitere Forschungsansätze zur Einsparung von Energie Die vorigen Sektionen haben gezeigt: es besteht ein komplexer Zusammenhang zwischen Architektur, Mikroarchitektur und Energiebedarf Es wäre günstig, so früh wie möglich während der Entwicklung eines Mikrocontrollers Abschätzungen des Energieverbrauchs vorzunehmen Heute: Energieabschätzung auf Grundlage der Register- Transfer- und Gatter-Ebene Künftig: Energieabschätzungen auf Mikroarchitekturebene

56 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller Idee: man nehme einen taktgenauen Mikroarchitektur- Simulator (zur Abschätzung der Verarbeitungsgeschwindigkeit) Man füge Energiemodelle zur Abschätzung des Energieverbrauchs hinzu Diese Energiemodelle schätzen den Energieverbrauch jeder Mikroarchitektur-Komponente für jeden Taktzyklus und jeden Zustand Ein Standard-Simulator enthält nur Mikroarchitektur-Parameter Energiemodelle beinhalten zusätzlich Technologie-Parameter

57 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller Beispiel:

58 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 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

59 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller Java Pakete für eingebettete Systems (Sun): Personal Java für einfache Geräte mit GUI und Netzwerk Embedded Java für kleine Systeme mit wenig Speicher und schwacher Verarbeitungsleistung Java Card zur Programmierung von Smart Cards

60 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 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

61 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller Lösungen: q Hybride Java Systeme q Echtzeit-Java q Java-Prozessoren

62 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 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), Java for OS-9 (Microware Systems) oder JavaOS (Integrated Systems)

63 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller Echtzeit-Java Systeme: q machen Java selbst echtzeitfähig q Spracherweiterungen, z.B. zur Definition von Echtzeit- Threads, Synchronisation oder Speicherbereinigung sind erforderlich q Derzeit zwei wesentliche Standards: m The Real-time Specifications for Java (Sun) m Real-time Core extensions for Java (JConsortium)

64 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 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 Beispiel: PERC (NewMonics) m Problem: langsame Ausführung im Vergleich zu C wegen Interpretation

65 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 2. Man benutzt einen nativen Compiler m Java wird zu nativem Maschinencode übersetzt m Dies erlaubt eine schnelle Ausführung m Beispiel: JBed (Oberon Microsystems) m Probleme:Verlust der Bytecode-Vorteile wie Portabilität Kein dynamisches Klassenladen

66 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 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)

67 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller 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), Komodo (Universitäten Karlsruhe/Augsburg)

68 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller Der Komodo-Mikrocontroller:

69 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Mikrocontroller Das Komodo-Projekt ist in fünf Ebenen gegliedert Der Mikrocontroller ist die niedrigste Ebene


Herunterladen ppt "Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 3. Mikrocontroller 3.4 Auswahlkriterien für den Einsatz."

Ähnliche Präsentationen


Google-Anzeigen