universität karlsruhe - prof. dr. u. brinkschulte universität augsburg - prof. dr. th. ungerer 1...
TRANSCRIPT
![Page 1: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/1.jpg)
1Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
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
![Page 2: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/2.jpg)
2Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
Einordnungin dieFamilie
A-Serie: MC68HC11Ax Grundmodell, z.B. MC68HC11A8 mit8-KByte-ROM, 256-Byte-RAM, 512-Byte-EEPROM, 8 x 8-Bit-DA-Wandler
D-Serie: MC68HC11Dx Economie-Version mit weniger Spei-cher und Peripherie
E-Serie: MC68HC11Ex Besonders flexible E/A, kombiniertesEPROM/EEPROM
F-Serie: MC68HC11Fx High-Speed Version, nicht gemulti-plexter externer 4 Mhz Bus, 1-KByte-RAM, extra E/A-Kanäle
G-Serie: MC68HC11Gx Version mit 10-Bit-DA-Wandler, ver-besserte Zeitgeber
K-Serie: MC68HC11Kx Hochleistungsversion mit hoher Ge-schwindigkeit, großem Speicher undSpeicherverwaltung
L-Serie: MC68HC11Lx Low-Power Version, großes ROM (16KBytes), statisches Design (Taktfre-quenzen bis 0 Hz)
M-Serie: MC68HC11Mx Basierend auf K-Serie, zusätzlichermathematischer Coprozessor, mehrDMA-Kanäle
P-Serie: MC68HC11Px Low-Power Version, zusätzliche serielleKanäle
![Page 3: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/3.jpg)
3Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
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
![Page 4: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/4.jpg)
4Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
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
![Page 5: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/5.jpg)
Aufbau:Betriebsart-Steuerung
TaktUnterbrechungs-
Steuerung ROM oder EPROM(siehe Tabelle)
EEPROM(siehe Tabelle)
RAM(siehe Tabelle)
Prozessorkern
Zähler/Zeitgeber
Capture/Compare
Wat
chdo
gPu
ls A
kkum
ulat
or Peri
od. U
nter
brec
hung
Erweiterungsbus Adressen (8-15) Daten/Adressen (0-7)
Synchroneserielle
Schnittstelle(SPI)
Asynchrone serielleSchnittstelle (SCI)
Analog/DigitalWandler
ParalleleSchnittstelle A
ParalleleSchnittstelle D
ParalleleSchnittstelle E
ParalleleSchnittstelle B
ParalleleSchnittstelle C
Capture / Compare,Parallele EA
ErweiterungsbusAdressen (8-15),
Parallele EA
ErweiterungsbusDaten / Adressen (0-7),
Parallele EA
Sync. & async. serielle EA,Parallele EA
Analoge EA,Parallele EA
MODA MODB Quarz IRQ XIRQ Reset
Typ RAM ROM EPROM EEPROMMC68HC11E0 512 Bytes - - -MC68HC11E1 512 Bytes - - 512 BytesMC68HC11E9 512 Bytes 12 KBytes - 512 BytesMC68HC711E9 512 Bytes - 12 KBytes 512 BytesMC68HC11E20 768 Bytes 20 KBytes - 512 BytesMC68HC711E20 768 Bytes - 20 KBytes 512 BytesMC68HC811E2 256 Bytes - - 2 KBytes
![Page 6: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/6.jpg)
6Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
5.1.1 Prozessorkern
Programmiermodell: 8- und 16 Bit Datentypen, Einzelbits
15 D 0
7 A 0 7 B 0
15 IX 0
15 IY 0
15 SP 0
15 PC 0
7 PSW 0 S X H I N Z V C
16 Bit Akkumulator D oder
8 Bit Akkumulatoren A & B
16 Bit Indexregister IX
16 Bit Indexregister IY
16 Bit Kellerzeiger SP (Stack Pointer)
16 Bit Programmzähler PC (Program Counter)
8 Bit Prozessorstatuswort
(C = Carry, V = Overflow, Z = Zero,
N = Negative, H = Half Carry, S = Stop Disable,
X, I = Interrupt Masken)
![Page 7: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/7.jpg)
7Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
Unmittelbar ADDA 5 A = A + 5 8B 05
Adressdirekt ADDA ($2000) A = A + (2000h) BB 00 20
Adressdirekt ADDA ($20) A = A + (20h) 9B 20 verkürzte Adr.
RegisterindirektADDA (IX + 5) A = A + (IX + 5) AB 05
Inhärent ABA A = A + B 1B
PC Relativ BRA (PC + $10) 25 0A
Adressierungsarten:
Einadressformat: Akku = Akku + Operand
![Page 8: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/8.jpg)
8Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
5.1.2. 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
![Page 9: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/9.jpg)
Adresse Vektor Priorität Unterbrechungsquelle MaskenbitFFC0h – FFD5h 0 – 10 nieder reserviert -FFD6h 11 Asynchrone serielle Schnittstelle SCI IFFD8h 12 Synchrone serielle Schnittstelle SPI IFFDAh 13 Puls Akkumulator Flanke IFFDCh 14 Puls Akkumulator Überlauf IFFDEh 15 Zeitgeber Überlauf IFFE0h 16 Capture 4 / Compare 5 IFFE2h 17 Compare 4 IFFE4h 18 Compare 3 IFFE6h 19 Compare 2 IFFE8h 20 Compare 1 IFFEAh 21 Capture 3 IFFECh 22 Capture 2 IFFEEh 23 Capture 1 IFFF0h 24 Periodischer Interrupt IFFF2h 25 Externer Interrupt-Eingang IRQ IFFF4h 26 Externer Interrupt-Eingang XIRQ XFFF6h 27 Software Interrupt keinesFFF8h 28 Unbekannter Befehlscode (Trap) keinesFFFAh 29 Watchdog keinesFFFCh 30 Taktfehler keinesFFFEh 31 hoch Rücksetzen keines
![Page 10: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/10.jpg)
10Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
Externe Interrupt-Eingänge:
XIRQ: quasi nicht maskierbarer Interrupt, nach Resetzunächst
maskiert, Freigabe per Software durch X-Bit im CCR,
Freigabe ist irreversibel
IRQ: maskierbarer Interrupt, Freigabe und Sperre durch
I-Bit im CCREine der I-maskierten Unterbrechungsquellen kann durch ein Register (HPRIO) über alle anderen gehoben werden
![Page 11: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/11.jpg)
5.1.3 Speicher und Adressraum
alle nicht belegten Adressenkönnen von externen Komponentenbelegt werden(sofern Erweiterungsbus aktiv, siehe später)
RAM256 – 768 Bytes
Ein-/AusgabeZähler/Zeitgeber
64 Bytes
EEPROM512 – 2048 Bytes
EPROM / ROM12 – 20 KBytes
0000h
1000h
8600h
FFFFh
Interrupt Vektortabelle64 Bytes
![Page 12: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/12.jpg)
12Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
5.1.4 EA-Einheiten, Zähler und Zeitgeber
Digitale parallele EA
Einheit Eingabe-Bits
Ausgabe-Bits
Bidirektio-nale Bits
Adresse Geteilt mit
A 3 3 2 1000h Zähler/ZeitgeberB - 8 - 1004h Erweiterungsbus AdressenC - - 8 1003h Erweiterungsbus Daten/Adr.D - - 6 1008h Serielle E/A-EinheitenE 8 - - 100Ah Analog/Digital Wandler
![Page 13: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/13.jpg)
13Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
Digitale serielle EA
Synchrone serielle Schnittstelle(SPI)
Asynchrone serielleSchnittstelle (SCI)
TxD(Transmit
Data)
RxD(Receive
Data)
MOSI(Master
OutSlave
In)
MISO(Master
InSlaveOut)
SCK(SerialClock)
SS(SlaveSelect)
Max. Baudrate
async: 128 kBaud
sync: 1,5 MBaud
![Page 14: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/14.jpg)
14Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
Analog/Digital-Wandler
AnalogMUX
8-Bit AD-Wandler
Ausgangsregister1
Ausgangsregister2
Ausgangsregister3
Ausgangsregister4
Digital DEMUX
interner Datenbus8-Bit
Analog-Signal
Digitalwert
AnalogIn 0
AnalogIn 7
. . .
Wägeverfahren
32 µsec Wandlungszeit
8 Bit Auflösung
8 Kanäle
Single oder Multiple Channel Operation
![Page 15: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/15.jpg)
15Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
Zähler und Zeitgeber Taktgenerator AS (Address Strobe)
interner Prozessortakt 4
prog. Vorteiler( 2, 4, 16, 32) Takt für SPI
prog. Vorteiler( 1 ... 1664) Takt für SCI
Vorteiler( 26)
Puls-Akkum. Unterbrechung
prog. Vorteiler( 213, 214, 215, 216) Periodische Unterbrechung
(Real-Time Interrupt)
Vorteiler( 215)
Prozessor rücksetzenWatchdog( 1, 4, 16, 64)
prog. Vorteiler( 1, 4, 8, 16)
Capture- undCompare-Einheit
Puls-Akkumulatorexterner Eingang
Lebenszeichen
![Page 16: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/16.jpg)
Capture- und
Compare-EinheitFreilaufender Zähler
16 Bit
Takt aus Vorteiler( 1, 4, 8, 16)
Zählerbus
Compare-Register 1
interner Datenbus
Compare 1
Unterbrechung
Capture-Register 1 Capture 1
Unterbrechung
Compare-Register 4 Compare 4
Unterbrechung
.
.
.
Capture-Register 3 Capture 3
Unterbrechung
Compare-Register 5 Compare 5/Capture 4Capture-Register 4
Unterbrechung
.
.
.
.
.
.
.
.
.
![Page 17: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/17.jpg)
17Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
5.1.5 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
![Page 18: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/18.jpg)
18Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
Aufbau des Erweiterungsbusses:
A8 – A15
Lat
ch A0 – A7
D0 – D7
RW
En
AS
RW
Port B
Port C
MC
68H
C11
E
![Page 19: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/19.jpg)
19Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. 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
![Page 20: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/20.jpg)
20Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. 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
![Page 21: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/21.jpg)
21Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
Registersatz
Verringerung der Busaktivitäten
AllgemeinerRegistersatz
16 x 32 Bit
AlternativerRegistersatz
16 x 32 Bit
Steuerregister-satz
13 x 32 Bit
Multiplizierer,Dividierer,
Barrel-Shifter
Dynamisches Power-Management
Addierer, Subtrahierer,Logische Operationen,
Lade- und Speicheroperationen
Dynamisches Power-Management
Betriebsartensteuerung
Statisches Power-Management
Adresserzeugung
Code-Dichte
Befehls-Pipeline: 1. Befehl holen2. Befehl decodieren / Register lesen3. Befehl ausführen4. Register schreiben
Dynamisches Power-Management, Code-Dichte
Datenbus Adressbus
Low-Power Betriebsart(LPMD)
Operationswerk Steuerwerk
MCore Verringerung derBusaktivitäten
![Page 22: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/22.jpg)
22Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
5.4.1 Reduktion der Busaktivitäten und Erhöhung der Code-Dichte
Reduktion der ex-ternen Busaktivitätendurch reichhaltigenRegistersatz
R0 (SP)
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12
R13
R14
R15
PC
Benutzer
0 31
C
R0 (SP)
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12
R13
R14
R15
PC
Supervisor
0 31
C
R0*
R1*
R2*
R3*
R4*
R5*
R6*
R7*
R8*
R9*
R10*
R11*
R12*
R13*
R14*
R15*
0 31
CR0
CR1
CR2
CR3
CR4
CR5
CR6
CR7
CR8
CR9
CR10
CR11
CR12
0 31
![Page 23: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/23.jpg)
23Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
Hohe Code-Dichte durch 16-Bit Befehlssatz
Befehlscode Rx Displacement
15 12 11 8 7 0
Befehlscode Displacement
15 11 10 0
Befehlscode Immediate Rx
15 11 10 4 3 0
Befehlscode Ry Rx
15 8 7 4 3 0
Befehlscode Rx
15 4 3 0
Rx = Register R0... R15
Adressierung mit einem Register
Adressierung mit zwei Registern
Adressierung mit Register undunmittelbarer Konstanten
Adressierung mit Displacement
Adressierung mit Register undDisplacement
![Page 24: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/24.jpg)
24Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
5.4.2 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) LPMD1 LPMD0 Stop 0 0 Wait 0 1 Doze 1 0 Run 1 1
![Page 25: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/25.jpg)
25Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
5.4.3 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
![Page 26: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/26.jpg)
26Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. 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
![Page 27: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/27.jpg)
27Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
5.5 Komodo - ein Forschungs-Mikrocontroller
Java
einfacheProgrammierung,
Threads
Echtzeit
Zeitbedingungen,Scheduling
MehrfädigeProzessortechnik
schnellerKontextwechsel
Komodo Mikrocontroller
Java Prozessor,mehrfädige Hardware,
Thread-basierteUnterbrechungsbehandlung,
Middleware
![Page 28: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/28.jpg)
28Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
Das Komodo-Projekt ist in fünf Ebenen gegliedert
Der Mikrocontroller ist die niedrigste Ebene
Middleware OSA+
Anwendung
Heap
Traps
GarbageCollection Mem.
KlasseEthreads.Klasse
Driver.KlassenStandard Klassen
Signal EinheitPrioritäts-Manager
Multithreading I/O Einheit
Komodo-Mikrocontroller
![Page 29: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/29.jpg)
29Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. 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
![Page 30: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/30.jpg)
30Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
Architektur des Komodo-Mikrocontrollers
Prozessorkern
mehrfädige Java Pipeline
Datentransfer-PufferSignal-
EinheitEin-/Ausgabe-
Einheit
Weck-Einheit Parallele Ein-/Ausgabe-
Einheit
Serielle Ein-/Ausgabe-
Einheit
Capture-/Compare-
Einheit
Zähler-/Zeitgeber-
Einheit
Speicher-schnittstelle
ExternerSpeicher
ExterneEreignisse
Parallele EA Serielle EA
Takt
Quarz
Einfangen/Treffer Zählen/Takt
![Page 31: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/31.jpg)
31Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
5.5.1 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
![Page 32: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/32.jpg)
32Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. 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
Befehl holen Befehl dekodieren Stackadresseberechnen
Stack-Zugriff
Befehl ausführen,Speicherzugriff
Thread-Kennung Thread-Kennung Thread-Kennung Thread-Kennung Thread-Kennung
Befehl 1(aus Thread 1)
Befehl 2(aus Thread 2)
Befehl 3(aus Thread 3)
Befehl 4(aus Thread 3)
Befehl 5(aus Thread 4)
![Page 33: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/33.jpg)
33Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. 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
Befehlsholeinheit
PC1 PC2 PC3 PC4
Spei
cher
schn
ittst
elle
Adressen
Befehle
IW1 IW2 IW3 IW4
Prioritätenmanager
BefehlsdecodiereinheitMikro-codeROM
Signal-einheit
Peripherie-Signale
Operandenholeinheit
Speicherzugriffs-einheit
Ausführungs-einheit
Ein-/Ausgabe-zugriffseinheit
RS1 RS2 RS3 RS4
Stackregistersätze
Adressen
Daten
Adressen
Daten
Ein
-/A
usga
besc
hnitt
stel
le. . .
![Page 34: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/34.jpg)
34Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
5.5.2 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
![Page 35: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/35.jpg)
35Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. 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
![Page 36: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/36.jpg)
36Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
Guaranteed Percentage Scheduling
weist einem Thread einen garantierten Prozentsatz der Prozessorleistung zu, garantiert dies in einem kurzen Intervall
Thread A, 30%
Thread B, 20%
Thread C, 40%
Thread A30 Taktzyklen
Thread B20 Taktzyklen
Thread C40 Taktzyklen
Thread A30 Taktzyklen
Thread B20 Taktzyklen
Thread C40 Taktzyklen
. . .. . .
100 Taktzyklen 100 Taktzyklen
![Page 37: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/37.jpg)
37Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
Klassen:
• Exakt ein Thread erhält genau den geforderten Prozentsatz
• Minimum ein Thread erhält mindestens den geforderten Prozentsatz
• Maximum ein 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
![Page 38: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/38.jpg)
38Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. 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
![Page 39: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/39.jpg)
39Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
5.5.3 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
![Page 40: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/40.jpg)
40Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. 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
![Page 41: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/41.jpg)
41Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. 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
![Page 42: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/42.jpg)
42Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
Verküpfung von Ereignissen und Threads durch die Signaleinheit
Verbindungsmatrix mitSteuer- und Statusregister
Steuerregister StatusregisterP
wer
iphe
rie-
Sig
nale
(E
reig
niss
e)
Thread 1 Thread 2 Thread 3 Thread 4
![Page 43: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/43.jpg)
43Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
5.5.4 Anbindung der periphere Komponenten
Einfach (kein Forschungsschwerpunkt in diesem Projekt)
Ein-/Ausgabe-Zugriffseinheit
SerielleSchnittstelle
1
SerielleSchnittstelle
2
ParalleleSchnittstelle
Zähler-/Zeitgeber
Capture/Compare
Datentransfer-puffer
Ein-/Ausgabebus: Daten / Adressen / Steuersignale
Daisy Chain
Prozessorkern
![Page 44: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/44.jpg)
44Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
Datentransferpuffer
entlastet den Prozessorkern von der Aufgabe der Datenübertragung
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
![Page 45: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/45.jpg)
45Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
5.5.5 Evaluierungs-Ergebnisse
Leistungsgewinn durch den mehrfädigen Ansatz für die Echtzeit-Scheduling Verfahren FPP, EDF, LLF and GP
LastprogrammFFT (ca. 6 Millionen Befehle)PID-Regler (ca. 6000 Befehle) Impulszähler (ca. 10 Befehle)
ModelleEinfädig (Standard Prozessor, 100 Takte Kontextwechselzeit)Mehrfädig mit 0 Takte Kontextwechselzeit, aber keiner LatenzzeitnutzungMehrfädig mit Latenzzeitnutzung
![Page 46: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/46.jpg)
46Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
Threads mit ähnlichen Deadlines (4 * Impulszähler) :
0,00
0,50
1,00
1,50
2,00
2,50
3,00
Gew
inn
FPP EDF GP LLF
Einfädig
Mehrfädig, ohne Latenzzeitnutzung
Mehrfädig, mit Latenzzeitnutzung
![Page 47: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/47.jpg)
47Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. 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.
![Page 48: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/48.jpg)
48Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
T1
T2
T3
T4
4 3 2 1
Anzahl aktive Threads
d4
d3
d2
d1Kontextwechsel
Deadlines T1
T2
T3
T4
4 3 2 1
Anzahl aktive Threads
d4
d3
d2
d1Kontextwechsel
Deadlines
a: FPP und EDF Scheduling b: GP und LLF Scheduling
![Page 49: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/49.jpg)
49Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. Beispiele verschiedener Mikrocontroller
Threads mit verschiedenen Deadlines :
0,00
0,50
1,00
1,50
2,00
2,50
3,00
Gew
inn
FPP EDF GP LLF
Einfädig
Mehrfädig, ohne Latenzzeitnutzung
Mehrfädig, mit Latenzzeitnutzung
![Page 50: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 5. Beispiele verschiedener Mikrocontroller 5.1 MC68HC11E](https://reader036.vdocuments.site/reader036/viewer/2022081518/55204d6749795902118bca56/html5/thumbnails/50.jpg)
50Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
5. 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