2.5. Mikrocontroller-Komponenten 2.5.3 Zeitgeberbasierte Einheiten Wichtig für Echtzeitanwendungen Basis für viele Mikrocontroller-Komponenten 2.5.3.1 Zähler und Zeitgeber (Counter and Timer) Grundaufgaben: Zählen von Ereignissen Messen von Zeiten Wecken Erzeugung von Impulsfolgen Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 1 2.5. Mikrocontroller-Komponenten Prinzipieller Aufbau: Datenbus Startwertregister Zähler (+/-) interner Takt Unterbrechung Steuerung Takt und Ausgang 1:n externer Takt/ Ereignisse Freigabe Ausgang Zählerstandsregister Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 2 2.5. Mikrocontroller-Komponenten Funktionsweisen Zählen von Ereignissen Externer Takt = zu zählende Ereignisse ... Freigabe ... Zählerstand 0 1 2 3 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte ... Z 3 2.5. Mikrocontroller-Komponenten Messen von Zeiten Interner oder externer Takt, z.B. 1MHz ... Freigabe = zeitlich zu vermessendes Signal Zählerstand ... 0 1 2 . . . Z-1 Z T Verschnitt Verschnitt T = Zählerstand Taktzykluszeit Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 4 2.5. Mikrocontroller-Komponenten Erzeugen einmaliger Impulse, einmaliges Wecken Interner oder externer Takt, z.B. 1MHz ... Freigabe ... Zählerstand Ausgabe (a) Ausgabe (b) Unterbrechung (c) Z Z-1 . . . 2 1 ... 0 ... ... ... T Wecken T = (Startwert + 1) Taktzykluszeit. Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 5 2.5. Mikrocontroller-Komponenten Erzeugen mehrmaliger Impulse, mehrmaliges Wecken Interner oder externer Takt, z.B. 1MHz ... ... Freigabe ... ... Zählerstand Ausgabe (a) Ausgabe (b) Unterbrechung (c) Z Z-1 . . . 2 1 0 Z Z-1 . . . 2 ... ... ... ... ... ... T Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 1 0 Z T 6 2.5. Mikrocontroller-Komponenten Enthält ein Mikrocontroller mehr als einen Zähler und Zeitgeber, so spricht man von Zähler- und Zeitgeberkanälen Eine Reihe von Anwendungen erfordern mehr als einen solchen Kanal Beispiel: Quadratur-Decodierung Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 7 2.5. Mikrocontroller-Komponenten Quadratur-Decodierung: Drehrichtungs-Erkennung mit Codierscheibe Drehrichtung rechts: L2 wird immer kurz vor L1 aktiv L2 L1 Drehrichtung links: L1 wird immer kurz vor L2 aktiv L1 L2 Rechtsdrehung Linksdrehung Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 8 2.5. Mikrocontroller-Komponenten 2.5.3.2 Capture- und Compare-Einheit Einfangen und Vergleichen von Zählerständen Datenbus Zähler eingefangener Wert Zähler-Wert einfangen (externes oder internes Signal) Capture-Register Vergleichswert Compare-Register Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Zähler hat Vergleichswert erreicht (Unterbrechung, externes Signal) 9 2.5. Mikrocontroller-Komponenten Einfache Hardware, vielfältige Anwendungen, z.B.: Periodisches Wecken Zähler arbeitet mit Takt konstanter Frequenz FTakt Bei Erreichen des im Compare-Register gespeicherten Wert => Wecksignal Zeitmessung Zähler arbeitet mit Takt konstanter Frequenz FTakt Das zu vermessende Signal fängt den Zählerstand ein Zwei aufeinanderfolgende Zählerstände kennzeichnen die Zeit TSignal = |Zn – Zn-1| / FTakt Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 10 2.5. Mikrocontroller-Komponenten Frequenzmessung Das zu vermessende Signal bildet den Zählertakt Zählerstand wird durch einen Takt konstanter Frequenz FTakt eingefangen Zwei aufeinanderfolgende Zählerstände kennzeichnen die Frequenz des Signals FSignal = |Zn – Zn-1| FTakt Bei viele Anwendungen kann der Zähler mit konstanter Frequenz betrieben werden => weitere Vereinfachung der Hardware durch: freilaufenden Zähler (Free Running Counter) Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 11 2.5. Mikrocontroller-Komponenten 2.5.3.3 Pulsweitenmodulator Erzeugung eines Signals konstanter Periode, aber variablem Tastverhältnis tges tPWM tPWM Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 12 2.5. Mikrocontroller-Komponenten Realisierung: Datenbus Startwert (Tastverhältnis) fCLK Abwärtszähler Nulldurchgang S Q PWM FF R einstellbarer Frequenzteiler fCLK/28 fCLK/210 fCLK/212 fCLK/216 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte geteilte Frequenz 13 2.5. Mikrocontroller-Komponenten Funtionsweise: z.B. mit fCLK / 28: fCLK ... fCLK/28 PWM Startwert fCLK 28 fCLK Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 14 2.5. Mikrocontroller-Komponenten Anwendungen: Leistungssteuerung, z.B. für einen Elektromotor PMotor = ((tges - tPWM) / tges) Pmax • Mit Zusatzbeschaltung Primitiver DA-Wandler (diese Wandlungsrichtung ist in Mikrocontrollern seltener vorhanden) R PWM-Signal C näherungsweise konstantes Ausgangssignal, Spannung Tastverhältnis =RC Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 15 DC-Motor Encoder Mikrocontroller Drehzahlmessung mit Capture-Einheit Beispiel: Drehzahl-Impulse Referenztakt fCLK Drehzahlregelung durch Zähler Capture-Reg. Drehzahlsteuerung mit PWM-Einheit einen Mikrocontroller Startwert mit Capture und Compare Wert) Abwärtszähler sowie PWM einstellbarer Frequenzteiler S Q FF R PWM Regelalgorithmen Prozessorkern Speicher (Programm/ Daten) Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 16 2.5. Mikrocontroller-Komponenten 2.5.3.4 Watchdog-Einheit Regelmäßige Lebenszeichen vom Prozessorkern, sonst Reset Adressbus AS MIO RW Rücksetzen Select = Zähler auf Startwert setzen Adressdecoder T = Startwert ZykluszeitReferenztakt Nulldurchgang Watchdog-Zähler vom/zum Prozessorkern Referenztakt Startwert Datenbus Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 17 2.5. Mikrocontroller-Komponenten 2.5.3.5 Echtzeit-Ein-/Ausgabeeinheiten (Real-Time Ports) Problem: wird der Zeitpunkt einer Ein- oder Ausgabe durch die Software gesteuert => Software-Jitter durch Unregelmäßigkeiten im Programmablauf (z.B. Unterbrechungen, Bedingungen, ...) Beispiel: Jitter-behaftetes Ausgabesignal D1 D2 D3 D4 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte D5 D6 18 2.5. Mikrocontroller-Komponenten Abhilfe: Steuerung der Ein-/Ausgabe durch einen Zeitgeber => Echtzeit-EA Ausgabedaten Zeitgeber vom/zum Prozessorkern Adressdecoder Datenübernahme durch Zeitgeberimpulse Pufferregister Datenübernahme durch Registerauswahl Ausgaberegister Datenbus Adressbus Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 19 2.5. Mikrocontroller-Komponenten Funktionsweise: Zeitgeberimpulse a) Ausgaberegister, Ausgabesignal mit Jitter b) Pufferregister, Ausgabesignal ohne Jitter D1 D2 D1 D3 D2 D4 D3 D5 D4 D6 D5 D6 Software-Jitter < halbe Taktperiode => jitter-freies Ausgangssignal Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 20 2.5. Mikrocontroller-Komponenten 2.5.4 Speicher Zur Reduktion der Anzahl externer Komponenten enthalten viele Mikrocontroller eine begrenzte Menge Speicher Flüchtiger Schreib-/Lesespeicher zur Speicherung von Daten Nichtflüchtiger Festwertspeicher zur Speicherung von Programmen und Konstanten Kleinere Anwendungen können dann vollständig mit dem integrierten Speicher realisiert werden Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 21 2.5. Mikrocontroller-Komponenten Anbindung an den Adressraum des Prozessorkerns: Adressdecoder Adressbus Adressdecoder AS (interprtiert MIO in umgekehrter Weise wie der Adressdekoder für Ein-/Ausgabeeinheiten) MIO Prozessorkern RW Select 1 Schreib/Lesespeicher Select 2 Festwertspeicher Datenbus Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 22 2.5. Mikrocontroller-Komponenten Adressraum des Mikrocontrollers Speicher-Adressraum 0 Festwertspeicher Schreib/Lesespeicher max. EA (bei gem. Addressierung Speicheradresse Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 23 2.5. Mikrocontroller-Komponenten Auswahl der Speicherzellen innerhalb des Speichers Adressbus 0 .. n-1 m .. n-1 Adressdecoder AS (interprtiert MIO in umgekehrter Weise wie der Adressdekoder für Ein-/Ausgabeeinheiten) MIO Prozessorkern Select 1 Select 2 2m Speicherzellen ... interner Adressdecoder 0 .. m-1 Als lineare Liste sehr leitungsintensiv (2m Auswahlleitungen) Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 24 2.5. Mikrocontroller-Komponenten Daher besser interne Organisation in Form einer Matrix 2m/2 Leitungen (Wortleitungen) 2m Speicherzellen m-Bit Adresse quadratische Speichermatrix m/2-Bit Zeilenadresse Zeilenadress decoder 2m/2 Leitungen (Bitleitungen) Select Spaltenadressdecoder, Spaltenauswahl Daten m/2-Bit Spaltenadresse Minimale Leitungsanzahl bei quadratischer Matrix Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 25 2.5. Mikrocontroller-Komponenten Festwertspeicher Maskenprogrammiert (ROM, Read Only Memory) Inhalt einer Speicherzelle wird bereits durch die Herstellungsmaske des Chips festgelegt (z.B. durch Verbinden oder Nichtverbinden eines Kreuzungspunktes der Zeilen- und Spaltenauswahlleitungen durch einen Transistor) => Mikrocontroller in Großserienanwendungen Benutzerprogrammiert (PROM, Programmable Read Only Memory) Benutzer kann den Inhalt einer Speichrzelle einmal ändern, z.B. durch Zerstörung eines Transistors im Kreuzungspunkt => Mikrocontroller in Kleinserienanwendungen Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 26 2.5. Mikrocontroller-Komponenten Festwertspeicher UV-löschbar (EPROM, Erasable Programmable Read Only Memory) Inhalt einer Speicherzelle kann programmiert und durch UV-Licht wieder gelöscht werden (z.B. durch Verbinden oder Nichtverbinden eines Kreuzungspunktes durch FAMOS-Transistor) => Mikrocontroller in Prototypen- und Kleinserienanwendungen Variante ohne Quarzglasfenster: OTROM (One Time Programmable ROM) Billigeres Gehäuse, speziell für Kleinserien Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 27 2.5. Mikrocontroller-Komponenten Festwertspeicher Elektrisch löschbar (FlashRAM, EEPROM, Electrically Erasable Programmable Read Only Memory) Inhalt einer Speicherzelle kann programmiert und elekrtisch wieder gelöscht werden (z.B. durch Verbinden oder Nichtverbinden eines Kreuzungspunktes durch FLOTOX- oder ETOXTransistor) - FlashRAM kann nur blockweise gelöscht werden - EEPROM kann einzelzellenweise gelöscht werden => Mikrocontrolleranwendungen mit der Möglichkeit zum Software-Update, Speichern von Konfigurationsdaten Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 28 2.5. Mikrocontroller-Komponenten Schreiblesespeicher statischer Speicher Inhalt der Speicherzelle wird durch ein Flipflop realisiert (schnelle, aber aufwändige Speicherzelle) dynamischer Speicher Inhalt der Speicherzelle wird durch einen Kondensator realisiert (einfache Speicherzelle, langsamer, periodischer Refresh erforderlich) Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 29 2.5. Mikrocontroller-Komponenten Schreiblesespeicher In Mikrocontrollern wird ausschließlich statischer Speicher integriert. Gründe: kleine Speichergrößen, dynamischer Speicher nicht erforderlich Refresh-Logik entfällt statischer Speicher läßt sich einfacher durch eine Batterie puffern (Quasi-Festwertspeicher) durch Reduktion der Versorgungsspannung läßt sich bei statischen Speichern ein energiesparender Ruhebetrieb realisieren Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 30 2.5. Mikrocontroller-Komponenten 2.5.5 Unterbrechungssteuerung Wichtig für Echtzeitanwendungen, schnelle und flexible Reaktion auf Ereignisse 1. Unterbrechung (Interrupt) des aktuellen Programmablaufs 2. Sichern des Zustandes des Prozessorkerns 3. Unterbrechungsbehandlung (Interrupt Service Routine) 4. Wiederherstellen des Zustandes des Prozessorkerns 5. Fortsetzen des unterbrochenen Programmablaufs Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 31 2.5. Mikrocontroller-Komponenten laufendes Programm Unterbrechungsanforderung Unterbrechungsbehandlung Retten des Prozessorkernstatus auf den Keller Wiederherstellen des Prozessorkernstatus vom Keller Ende der Unterbrechungsbehandlung Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 32 2.5. Mikrocontroller-Komponenten Unterschiede zum Unterprogrammaufruf eine Unterbrechung wird von einem Ereignis ausgelöst, ein Unterprogrammaufruf durch das Programm Unterbrechungen treten völlig asynchron auf => meist umfangreicheres Sichern des Prozessorkernstatus erforderlich die Startadresse ist bei Unterprogrammaufrufen im Programm gegeben, bei Unterbrechungen muß sie aus dem Ereignis heraus ermittelt werden Die Unterbrechungssteuerung koordiniert der Ablauf einer Unterbrechung => Bindeglied zwischen Prozessorkern und Ereignis Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 33 2.5. Mikrocontroller-Komponenten Unterbrechungsquellen: Unterbrechung durch interne Komponente (internal HW Interrupt) z.B. ausgelöst durch eine der bereits besprochenen Mikrocontroller-Komponenten (EA-Schnittstellen, Zähler, Zeitgeber, ...) Unterbrechung durch externe Komponente (external HW Interrupt) sog. Interrupt-Eingänge des Mikrocontrollers ermöglichen auch externen Komponenten einen Unterbrechungswunsch Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 34 2.5. Mikrocontroller-Komponenten Unterbrechungsquellen: Ausnahmesituation im Prozessorkern (Exception, Trap) Behandlung außergewöhnlicher Fehlersituationen, z.B. ungültiger Befehlscode, Division durch 0, Seitenfehler, ... Unterbrechung durch das laufende Programm (SW Interrupt) häufig genutzt, um Betriebssystemfunktionen aufzrufen und auszuführen Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 35 2.5. Mikrocontroller-Komponenten Ermittlung der Startadresse der Unterbrechungsbehandlung: Vektor-Interrupt Unterbrechungssteuerung im Prozessorkern Arbeitsspeicher VektorAdresse externer Vektor (z.B.von externer Komponente) x4 + InterruptVektortabelle Startadr. Vektor 0 Startadr. Vektor 1 Startadr. Vektor 2 ... VektorbasisRegister interner Vektor (z.B. von interner Komponente oder Ausnahmesituation) Startadr. Vektor 255 Interrupt-ServiceRoutine für Vektor 0 z.B. Vektor = 3 ==> 3. Eintrag in Vektortabelle Interrupt-ServiceRoutine für Vektor n ==> Startadresse der Interrupt-Service-Routine: (Vektor-Basisadresse + 3 x 4) Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 36 2.5. Mikrocontroller-Komponenten Die Zuordnung von Vektor und Komponente kann variabel oder fest sein. Bei einfachen Mikrocontrollern findet man meist eine feste Zuordnung Zur gleichzeitigen Behandlung mehrere Unterbrechungen: Vergabe von Prioritäten Auch hier ist eine variable oder eine feste Zuordnung möglich Zusätzlich: Unterbrechungen können maskiert werden. In diesem Fall werden Anforderungen der zugehörigen Quelle ignoriert Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 37 2.5. Mikrocontroller-Komponenten Beispiel: Interruptvektortabelle mit fester Zuordnung von Quelle, Vektor Unterbrechungsquelle Vektor Priorität Typ und Parallele Ein-/Ausgabe 1 0 nieder interner Hardware-Interrupt Ein-/Ausgabe 2 1 “ Priorität Parallele Serielle Ein-/Ausgabe 2 “ Analog/Digitalwandler 1 Analog/Digitalwandler 2 Analog/Digitalwandler 3 Zeitgeber 1 Zeitgeber 2 Capture & Compare Externer Interrupt-Eingang 1 Externer Interrupt-Eingang 2 Externer Interrupt-Eingang 3 ... 3 4 5 6 7 8 9 10 11 “ “ “ “ “ “ externer Hardware-Interrupt “ “ Break ... 200 Software-Interrupt Unbekannter Befehlscode Division durch 0 Reset 253 254 255 Exception “ “ hoch Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 38 2.5. Mikrocontroller-Komponenten Variable Zuordnung erlaubt eine größere Flexibilität, insbesondere bei einer höheren Anzahl externer Unterbrechungsquellen. Bei fester Zuordnung benötigt jede externe Quelle einen eigenen Unterbrechungseingang oder die Unterbrechungsbehandlung muss durch Abfrage der Komponenten die Quelle herausfinden Bei variabler Zuordnung können sich mehrere Quellen einen Eingang teilen, die Identifikation und die Prioritätenvergabe erfolgt über den Vektor Aber: größerer Hardwareaufwand wird erforderlich (InterruptController) Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 39 2.5. Mikrocontroller-Komponenten Externe Steuerung mit variablem Vektor und zentraler Prioritätenund Vektorvergabe Externe Komponente 1 P0 Externe P1 externe Komponente Unterbrechungs- Prioritäten2 anforderungen steuerung Pn externer Datenbus externer Interrupt Mikrocontroller Interrupt Acknowledge Externe Komponente n Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 40 2.5. Mikrocontroller-Komponenten Ablauf: Externe Unterbrechungsanforderung höchster Priorität Externer Interrupteingang am Mikrocontroller Interrupt Acknowledge Datenbus Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Vektor 41 2.5. Mikrocontroller-Komponenten 1 Dezentrale Prioritäten- und Vektorvergabe (Daisy Chain) IEI Externe Komponente 1 IEO IEI Externe Komponente 2 IEO Datenbus Unterbrechungsanforderungen ... 1 externer Interrupt Mikrocontroller Interrupt Acknowledge ... IEI Externe Komponente n IEI: Interrupt Enable In IEO: Interrupt Enable Out IEO Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 42 2.5. Mikrocontroller-Komponenten Die Reaktionszeit auf Unterbrechungen ist eine wichtige Größe bei Echtzeitanwendungen. Das Sichern des Prozessorkernstatus kann einige Zeit in Anspruch nehmen (wenn viele Register gesichert werden müssen) Einige Mikrocontroller verfügen daher über mehrfache Registersätze zur Verbesserung dieser Reaktionszeit Der Status des Prozessorkerns muss dann nicht mehr gesichert werden. Es wird einfach auf einen neuen Registersatz gewechselt. => schneller Kontextwechsel Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 43 2.5. Mikrocontroller-Komponenten Mehrfache Registersätze: Registersatz n ... Registersatz 3 Registersatz 2 Registersatz 1 Struktur eines Registersatzes Inhalt des Programmzähler Inhalt des Programmstatuswort Daten-/Adressregister 1 Daten-/Adressregister 2 ... Daten-/Adressregister m Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 44 2.5. Mikrocontroller-Komponenten Prozessorkerne mit mehrfachen Registersätzen: Vorstufe zu mehrfädigen Prozessorkernen Mehrfache Registersätze: jeder Registersatz enthält einen Speicherplatz für PC und PSW PC und PSW sind aber nur einmal vorhanden => mehrere Kontexte können gespeichert werden Mehrfädiger Prozessorkern: mehrfach vorhandene PCs und PSWs meist Befehle mehrerer Kontexte gleichzeitig in der Pipeline => mit mehreren Kontexten kann gearbeitet werden Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 45 2.5. Mikrocontroller-Komponenten Ereignisbehandlung auf mehrfädigen Prozessoren durch laufender Faden Ereignis 1 Interrupt Service Threads Ereignis 2 Faden zur Behandlung von Ereignis 1 Faden zur Behandlung von Ereignis 2 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 46