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 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E.

Ähnliche Präsentationen


Präsentation zum Thema: "Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E."—  Präsentation transkript:

1 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E - ein einfacher Mikrocontroller 8-Bit-Mikrocontroller Mitglied der MC68HC11-Familie Der MC68HC11E zeichnet sich durch besonders flexible und umfangreiche EA sowie Zähler und Zeitgeber aus

2 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 2 5. Beispiele verschiedener Mikrocontroller Einordnung in die Familie

3 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 3 5. Beispiele verschiedener Mikrocontroller Prozessorkern – CISC-Architektur – Taktfrequenz bis 6 MHz – 8 Bit Datenbus, 16 Bit Adressbus – 2 x 8 Bit oder 1 x 16 Bit Akkumulatorregister – 2 x 16 Bit Indexregister – 6 Adressierungsarten – Gemeinsame Adressierung (Memory mapped IO) – 16 / 16 Bit Division – 8 x 8 Bit Multiplikation Speicher – statisches RAM – ROM oder EPROM, EEPROM

4 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 4 5. Beispiele verschiedener Mikrocontroller Zeitgeber und Ein-/Ausgabeeinheiten – 5 parallele Ein-/Ausgabeeinheiten, insgesamt 38 Bit – 1 synchrone serielle Ein-/Ausgabeeinheit – 1 asynchrone serielle Ein-/Ausgabeeinheit – 1 Watchdog – 1 Zähler-/Zeitgebereinheit mit einem 16-Bit-Zähler und 8 Capture-und-Compare-Kanälen – 8 Digital/Analog-Wandlerkanäle, jeweils 8 Bit – 8-Bit-Erweiterungsbus im Daten-/Adressmultiplexing, 16- Bit-Adressen

5 Aufbau:

6 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 6 5. Beispiele verschiedener Mikrocontroller Prozessorkern Programmiermodell: 8- und 16 Bit Datentypen, Einzelbits

7 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 7 5. Beispiele verschiedener Mikrocontroller Unmittelbar ADDA 5A = A + 58B 05 AdressdirektADDA ($2000)A = A + (2000 h )BB AdressdirektADDA ($20) A = A + (20 h ) 9B 20 verkürzte Adr. RegisterindirektADDA (IX + 5)A = A + (IX + 5)AB 05 Inhärent ABAA = A + B1B PC Relativ BRA (PC + $10)25 0A Adressierungsarten: Einadressformat: Akku = Akku + Operand

8 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 8 5. Beispiele verschiedener Mikrocontroller Unterbrechungsbehandlung Einfacher Vektorinterrupt Vektoren fest den Komponenten und 2 externen Interrupt- Eingängen zugeordnet 32 Vektoren (5 Bit Vektorbreite) 64 Bit Vektortabelle (16 Bit pro Eintrag = Adressbreite) Vektortabelle fest am Ende des Adressraums positioniert (FFC0 - FFFF) Feste Prioritäten

9

10 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Externe Interrupt-Eingänge: XIRQ:quasi nicht maskierbarer Interrupt, nach Resetzunächst maskiert, Freigabe per Software durchX-Bit im CCR, Freigabe ist irreversibel IRQ:maskierbarer Interrupt, Freigabe und Sperre durch I-Bit im CCR Eine der I-maskierten Unterbrechungsquellen kann durch ein Register (HPRIO) über alle anderen gehoben werden

11 5.1.3 Speicher und Adressraum alle nicht belegten Adressen können von externen Komponenten belegt werden (sofern Erweiterungsbus aktiv, siehe später)

12 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller EA-Einheiten, Zähler und Zeitgeber Digitale parallele EA

13 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Digitale serielle EA Max. Baudrate async:128 kBaud sync:1,5 MBaud

14 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Analog/Digital-Wandler Wägeverfahren 32 µsec Wandlungszeit 8 Bit Auflösung 8 Kanäle Single oder Multiple Channel Operation

15 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Zähler und Zeitgeber

16 Capture- und Compare-Einheit

17 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Erweiterungsbus Der MC68HC11E kennt 4 Betriebsarten (MODA/MODB Eingänge) Single Chip Mode Kein Erweiterungsbus (parallele Ports B und C nutzbar) Expanded Mode Erweiterungsbus aktiv (parallel Ports B und C nicht verfügbar) Test Mode Wie Expanded Mode, zusätzliche Debug- und Kalibrierungs- register ansprechbar Bootstrap Mode Wie Single Chip Mode, zusätzlich Boot-ROM eingeblendet

18 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Aufbau des Erweiterungsbusses:

19 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller 5.4 MCore - optimiert für niedrigen Energieverbrauch Architektur bzw. Mikroarchitektur eines Prozessorkerns Primäres Ziel: niedriger Energieverbrauch Wird in verschiedenen Mikrocontrollerns verwendet, z.B. MMC2001, MMC2003, MMC2107, MMC2114,... Wir wollen uns hier auf die Energiespartechniken im Prozessorkern konzentrieren

20 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Eigenschaften: skalare RISC Architektur Load/Store Konzept 32 Bit Datenbus, Register und Ausführungseinheiten 32 Bit Adressbus Feste 16 Bit Befehlslänge 4-stufige Pipeline 2 Registersätze mit je 16 Registern zum schnellen Kontextwechsel 8-, 16- und 32-Bit Datentypen Statisches und dynamisches Power-Management Statisches CMOS Design (bis 0 Hz Taktfrequenz) 33 MHz maximale Taktfrequenz 1,8 bis 3,6 Volt Versorgungsspannung

21 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller

22 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Reduktion der Busaktivitäten und Erhöhung der Code-Dichte Reduktion der ex- ternen Busaktivitäten durch reichhaltigen Registersatz

23 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Hohe Code-Dichte durch 16-Bit Befehlssatz

24 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Statisches Power Management Voll statisches Steuerwerk, bis zu 0 Hz Taktfrequenz Niedere Versorgungsspannung von 1.8 Volt Spezialbefehle und Ausgangssignale (LPMD = low power mode) um nicht benötigte Komponenten abzuschalten Modus (Befehl)LPMD1LPMD0 Stop 0 0 Wait 0 1 Doze 1 0 Run 1 1

25 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Dynamisches Power Management Power Aware Pipeline Die Pipeline erkennt und deaktiviert gerade nicht benötigte Komponenten Eine Addition aktiviert z.B. den Addierer, deaktiviert aber den Barrel-Shifter Unterschiedliche Datengrößen werden unterstützt Für 8 und 16 Bit Operationen werden unbenutzte Teile der internen 32 Bit Datenpfade und Verarbeitungseinheiten abgeschaltet

26 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Gesamtverteilung des Energiebedarfs im Prozessorkern Taktleitungen:36% des gesamten Energiebedarfs Datenpfade:36% des gesamten Energiebedarfs Steuerlogik:28% des gesamten Energiebedarfs =>Optimierung der Taktleitungen und Sperrung von Teilen des Takt-Baumes (Clock Gating) kann viel Energie einsparen Die Pipeline sperrt z.B. den Takt für einige Komponenten während dem Auftreten von Pipeline-Hazards

27 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller 5.5 Komodo - ein Forschungs-Mikrocontroller

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

29 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Prozessorkern – mehrfädige 32 Bit Architektur – bis zu 4 Hardware-Threads – direkte Ausführung von Java Bytecode – thread-basierte Unterbrechungsbehandlung – extrem schneller Kontextwechsel (0 Taktzyklen) Speicher – Schnittstelle für externen Arbeitsspeicher – Datentransferpuffer für Ein-/Ausgabedaten Zeitgeber und Ein-/Ausgabeeinheiten – 1 parallele und 2 serielle Ein-/Ausgabeschnittstellen – 1 Capture- und Compare-Einheit – 1 Zähler- und Zeitgebereinheit

30 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Architektur des Komodo-Mikrocontrollers

31 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Prozessorkern Java Prozessor Ausführung von Java Bytecode direkt in Hardware (Einfache Bytecodes) Mikrocode (mittel-komplexe Bytecodes) Trap Routinen (komplexe Bytecodes) Stack-Register-Satz Hardware-Unterstützung für Garbage Collection

32 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Mehrfädiger Prozessor Kann mehr als einen Thread gleichzeitig in der Pipeline verarbeiten Besitzt mehrere Programmzähler und Registersätze êExtrem schneller Kontextwechsel êLatenzen bei der Ausführung eines Threads können durch Instruktionen aus anderen Threads überbrückt werden

33 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Mikroarchitektur: Mehrfädig (0 Takte Kontextwechsel) Bis zu 4 Hardware Threads Prioritäten-Manager für Echtzeit-Scheduling (in Hardware) Signaleinheit für externe Komponenten

34 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Echtzeit-Scheduling Erfolgt in Hardware durch den Prioritäten-Manager 2 Ebenen Scheduling: 1. Ebene:ordnet den Threads gemäß Echtzeit- Scheduling Prioritäten zu 2. Ebene:wählt den Thread höchster Priorität, der gerade keine Latenz besitzt =>Kombination von Echtzeit-Scheduling und Latenzzeitnutzung

35 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Unterstützte Echtzeit-Scheduling Verfahren: Fixed Priority Preemptive (FPP) Earliest Deadline First (EDF) Least Laxity First (LLF) Guarantied Percentage (GP) Das Scheduling wird in Hardware durchgeführt, um eine Entscheidung in einem Taktzyklus zu erlauben

36 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Guaranteed Percentage Scheduling weist einem Thread einen garantierten Prozentsatz der Prozessorleistung zu, garantiert dies in einem kurzen Intervall

37 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Klassen: Exaktein Thread erhält genau den geforderten Prozentsatz Minimum ein Thread erhält mindestens den geforderten Prozentsatz Maximumein Thread erhält höchstens den geforderten Prozentsatz Die Summe der geforderten Prozentsätze der Klassen Exakt und Minimum darf 100 % nicht überschreiten Der Latenzgewinn über 100% kann von der Klasse Maximum genutzt werden

38 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Vorteile von GP: strikte zeitliche Isolation der Threads Garantierte Antwortzeiten und Datenraten für mehrere Threads Einfache Erkennung von Überlast (>100%) Ermöglicht Debug-Threads ohne Veränderung des Echtzeit- Verhaltens Fein-granulare Realisierung auf einem mehrfädigen Prozessorkern

39 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Unterbrechungsbehandlung Standard Echtzeit-Ereignisbehandlung: Interrupt Service Routinen (ISR) mit festen Prioritäten (FPP) Nicht-optimale Prozessorausnutzung (< 100%) Blockierung niederpriorer Ereignisse Komplexe Programme, schwer zu testen

40 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Komodo benutzt Interrupt Service Threads (IST) Ein Ereignis aktiviert direkt einen zugeordneten Hardware-Thread im mehrfädigen Prozessorkern Ereignisse werden durch Java Threads behandelt Die Aktivierung erfolgt per Hardware (der Signaleinheit) Jeder IST wird in einen Thread-Slot des mehrfädigen Prozessorkerns geladen

41 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Vorteile: Interrupt Service Threads passen perfekt in das Thread Konzept von Java. Ereignisse lassen sich wie alle anderen Aufgaben einheitlich mittels Java Threads behandeln. Die direkte Aktivierung per Hardware vermeidet Verzögerungszeiten. Alle Threads inklusive der Interrupt Service Threads unterliegen einem einheitlichen, hardwareunterstützten Scheduling. Es können flexible Kontextwechsel zwischen Interrupt Service Threads und anderen Threads stattfinden. Schedulingverfahren wie EDF, LLF oder GP erlauben eine Prozessorauslastung von 100 Prozent

42 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Verküpfung von Ereignissen und Threads durch die Signaleinheit

43 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Anbindung der periphere Komponenten q Einfach (kein Forschungsschwerpunkt in diesem Projekt)

44 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller q Datentransferpuffer m entlastet den Prozessorkern von der Aufgabe der Datenübertragung m da die Zeitbedingungen für die Datenübertragung und Datenverarbeitung meist unterschiedlich sind, müsste anderenfalls ein eigener Thread zur Datenübertragung oder ein Thread mit wechselnden Zeitbedingungen für Übertragung und Verarbeitung eingesetzt werden

45 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Evaluierungs-Ergebnisse q Leistungsgewinn durch den mehrfädigen Ansatz für die Echtzeit- Scheduling Verfahren FPP, EDF, LLF and GP q Lastprogramm m FFT (ca. 6 Millionen Befehle) m PID-Regler(ca Befehle) m Impulszähler(ca. 10 Befehle) q Modelle m Einfädig (Standard Prozessor, 100 Takte Kontextwechselzeit) m Mehrfädig mit 0 Takte Kontextwechselzeit, aber keiner Latenzzeitnutzung m Mehrfädig mit Latenzzeitnutzung

46 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Threads mit ähnlichen Deadlines (4 * Impulszähler) :

47 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller – Für einfädige Prozessorkerne kein Leistungsunterschied zwischen einfachem FPP und komplexeren EDF. Ursache: einfacher Impulszähler – GP und LLF fallen hier ab. Ursache: häufige Kontextwechsel – Mehrfädiger Prozessorkern ohne Latenzzeitnutzung eliminiert diesen Nachteil. Leistungssteigerung um Faktor 1,45 – Mehrfädigen Prozessorkern mit Latenzzeitnutzung steigert den Gewinn. GP und LLF effizienter als FPP und EDF. Ursache: Anzahl aktiv-bleibender Threads.

48 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller

49 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller Threads mit verschiedenen Deadlines :

50 Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer Beispiele verschiedener Mikrocontroller – Für den einfädigen Prozessorkern bestätigt sich zunächst das Er- gebnis der ersten Evaluation: GP und LLF schneiden schlecht ab – Durch die komplexere Last: Unterschiede zwischen dem einfachen FPP und dem leistungsfähigeren EDF – Dies gilt auch für den mehrfädigen Prozessorkern ohne Latenzzeitnutzung. GP fällt durch die schwierige Wahl geeigneter Prozentsätze ab. – Beim mehrfädigen Prozessorkern mit Latenzzeitnutzung liefert wie bei der ersten Evaluierung LLF hervorragende Ergebnisse. Auch GP kann die Latenzen sehr gut verwerten, verliert aber durch die oben genannten Probleme


Herunterladen ppt "Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E."

Ähnliche Präsentationen


Google-Anzeigen