1 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 2.5. Mikrocontroller-Komponenten 2.5.1 Prozessorkerne Einfache RISC- oder CISC Prozessorkerne Benötigen wenig Fläche Verhalten und Eigenschaften sind wohl bekannt Im Low-Cost-Bereich oft einfache 8-Bit-Kerne ohne Pipeline => einfacher Aufbau => sehr einfache zeitliche Vorhersagbarkeit
2.5. Mikrocontroller-Komponenten. 2.5.1 Prozessorkerne Einfache RISC- oder CISC Prozessorkerne Benötigen wenig Fläche Verhalten und Eigenschaften sind wohl bekannt. Im Low-Cost-Bereich oft einfache 8-Bit-Kerne ohne Pipeline => einfacher Aufbau - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
2.5.1 Prozessorkerne
Einfache RISC- oder CISC Prozessorkerne
Benötigen wenig Fläche
Verhalten und Eigenschaften sind wohl bekannt
Im Low-Cost-Bereich oft einfache 8-Bit-Kerne ohne Pipeline
=> einfacher Aufbau
=> sehr einfache zeitliche Vorhersagbarkeit
2Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
Beispiel:
Befehl Taktzyklen
LOOP: IN A,(10) 2LD (IX),A 5INC IX 2DEC B 2JNZ LOOP 5
Gesamt: 16
bei einer Taktfrequenz von 10 MHzAusführungszeit pro Schleifendurchlauf: 16 / 10 MHz = 1,6 sec
3Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
Je komplexer ein Prozessorkern, desto schwerer wird die Vorhersage des Zeitverhaltens
Pipeline => Pipeline-Konflikte
Cache => Cache Misses
Spekulation => Fehlspekulation
In Echtzeitsystemen interessiert die Worst Case Execution Time (WCET)
Aufwändige Analysen sind erforderlich (und nicht immer möglich)
4Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
Befehlholen
Befehldekodieren
Operandenholen
Befehlausführen
Ergebnisspeichern
Takt 2Takt 1 Takt 3 Takt 4 Takt 5 Takt 6
Befehlholen
Befehldekodieren
Operandenholen
Befehlausführen
Ergebnisspeichern
Befehlholen
Befehldekodieren
Operandenholen
Befehlausführen
Ergebnisspeichern
Takt 7 ...
Befehl 3
Befehl 2
Befehl 1
. . .
Befehlsverarbeitung in einer Pipeline: Beispiel fünfstufige Pipeline
5Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
Befehlholen
Befehldekodieren
Bef
ehls
fens
ter
Zuo
rdnu
ngse
inhe
it
Operandenholen
Operandenholen
Befehlausführen
Befehlausführen
Rüc
kord
nung
sein
heit
Ergebnisspeichern
Beispiel superskalare Pipeline bei High-End-Prozessorkernen
6Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
Prozessor-kern
> 1GByte50 ns
10 - 100 Mbyte20 - 30 ns
Daten Code
0,25 - 1 Mbyte2 - 10 ns
8 - 64 kByte< 1 ns
Register
Hauptspeicher
Third - Level - Cache
Secondary-Level-Cache
50 - 500 GByte 10 - 20 ms
virtuelleSpeicherverwaltung
2 kByte0,5 - 0,1 ns
First -Level-Cache
Festplatte
Speicherhierarchie bei High-End- Prozessorkernen
7Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
predict taken(0)
predict not taken(1)
taken
taken
not takennot taken
predict stronglytaken (00)
taken
taken
not taken
predict weakly taken (01)
predict strongly not taken (11)
not taken
predict weaklynot taken (10)
not taken not taken
taken taken
a) Ein–Bit-Präditkor
b) Zwei–Bit-Präditkor
Sprungspekulation: Beispiel Ein-Bit- und Zwei-Bit-Prädiktor
8Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
LD A,(2000)
INC B
SUB A,B
JZ 10000
Gesamt
5
3
3
4
15
Best=Worst
KeinePipeline
Benötigte Anzahl TaktzyklenProgramm
2.5. Mikrocontroller-Komponenten
Best- und Worst-Case Ausführungszeiten verschiedener Mikroarchitekturen
1+4
1
1+1
1+3
12
1
1
1+1
1
5
Best
1+4
1
1+1
7
15
Worst
1+4
1
1+1
1
9
Best
1+4
1
1+1
7
15
WorstBest=Worst
Pipeline, Cache,Spekulation
Pipeline,Spekulation
EinfachePipeline
Resultierende Echtzeitproblematik bei High-End- Prozessorkernen mit diesen Techniken
9Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
Zur Einsparung von Speicher
bei einfachen Mikrocontrollern:
Verkürzte Adressierung zur
Verkürzung der Befehle
Gesamtadressraum64 KBytes
Teiladressraum1 KByte
16 Bit AdresseBefehls-code
BBBBBBBB AAAAAAAA AAAAAAAA
10 Bit AdresseBefehls-code
BBBBBBAA AAAAAAAA
3 Byte Befehl 2 Byte Befehl, kurze Adresse
10Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
Zusätzlich: • kurze Befehlscodes für die am häufigsten benutzten Befehle
• längere Befehlscodes für seltene Befehle
Besonders bei einfachen Mikrocontrollern ist Speicher meist eine knappe Ressource und muss optimal genutzt werden
Der Prozessorkern kann dies durch die genannten Maßnahmen unterstützen
11Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
2.5.2 Ein-/Ausgabeeinheiten
Bindeglied des Mikrocontrollers zur Umwelt
analog/digital
seriell/parallel
Übertragungsraten
Übertragungsformate
Übertragungsaufwand
...
12Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
2.5.2.1 Anbindung an den Prozessorkern
Speicher- und EA-Adressraum
EA-Adressraum Speicheradressraum
Isolierte Adressierung Gemeinsame Adressierung
Speicher
parallele EA
serielle EA
DA-Wandler
0
max.EA-Adresse
0
max.Speicheradresse
Speicher
parallele EA
serielle EA
DA-Wandler
0
max.Speicheradresse
13Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
Vorteile „isolierte Adressierung“:
klare Trennung von Speicher- und Ein-/Ausgabezugriffen
Speicheradressraum wird nicht durch EA-Einheiten reduziert