174
3 Hardware eingebetteter Systeme
Mehrkern-Architekturen haben den Vorteil eines begrenzten Entwurfsaufwandes,
weil die Prozessoren einfach repliziert werden können. Auch kann die Software
einfach von einem Prozessor zu einem anderen migrieren. Dies ist sehr hilfreich,
wenn einer der Prozessoren ausfällt.
Im Unterschied zu homogenen gibt es auch heterogene Mehrkern-Architekturen
mit unterschiedlichen Prozessoren. Damit können die für bestimmte Anwendungen
oder bestimmte Szenarien am besten geeigneten Prozessoren gewählt werden. Meist
benötigt man heterogene Mehrkern-Prozessoren, um die bestmögliche Energieeffizienz zu erreichen, da nur so eine Anpassung an Anwendungen möglich ist.
Als Kompromiss zwischen homogenen und (vollständig) heterogenen Architekturen gibt es Architekturen mit einem einheitlichen Befehlssatz (engl. Instruction
Set Architecture (ISA)) aber unterschiedlichen internen Architekturen, sogenannte
single-ISA heterogeneous multi-cores [317].
Beispiel 3.7: Die ARM ® big.LITTLE-Architektur ist ein prominentes Beispiel dafür.
Abb. 3.28 zeigt die Fließbandarchitektur des Cortex ® A-15 Prozessors [165].
R1
D3
D3
D3
D2
D2
D2
D1
D1
F4
F3
F2
D1
F5
F1
MAC pipe
Single Cluster 1 pipe
Single Cluster 0 pipe
E2
E2
E1
E1
E10
E9
E8
E7
E6
E5
E4
E2
E1
I1
I1
I1
I1
I1
Complex Cluster pipe
(variable length)
P2
P1
R2
E1
E1
WB
WB
WB
WB
WB
E10
E3
E3
Abb. 3.28 ARM ® Cortex ® A-15 Fließband
Es ist ein relativ komplexes Fließband mit mehreren Fließbandstufen für das
Holen von Befehlen, die Befehlsdekodierung, die Befehlsausgabe, die Befehlsausführung und das Abspeichern der Ergebnisse. Bei diesem Fließband müssen Befehle
mindestens 15 Stufen durchlaufen, bevor Ergebnisse abgespeichert werden können.
Eine dynamische Ablaufplanung erlaubt es, Befehle in einer Reihenfolge auszuführen, die sich von derjenigen unterscheidet, in der sie aus dem Speicher geholt
werden. Dies nennt man out-of-order execution. Mehrere Befehle können innerhalb
desselben Taktzyklus an die Ausführungseinheiten ausgegeben werden. Dies nennt
man multi instruction issue. Insgesamt ist diese Architektur sehr performant, aber
sie hat eine hohe elektrische Leistungsaufnahme.
Abb. 3.29 zeigt die Fließbandarchitektur des Cortex ® A-7 Prozessors [165]. Das
3 Hardware eingebetteter Systeme
Mehrkern-Architekturen haben den Vorteil eines begrenzten Entwurfsaufwandes,
weil die Prozessoren einfach repliziert werden können. Auch kann die Software
einfach von einem Prozessor zu einem anderen migrieren. Dies ist sehr hilfreich,
wenn einer der Prozessoren ausfällt.
Im Unterschied zu homogenen gibt es auch heterogene Mehrkern-Architekturen
mit unterschiedlichen Prozessoren. Damit können die für bestimmte Anwendungen
oder bestimmte Szenarien am besten geeigneten Prozessoren gewählt werden. Meist
benötigt man heterogene Mehrkern-Prozessoren, um die bestmögliche Energieeffizienz zu erreichen, da nur so eine Anpassung an Anwendungen möglich ist.
Als Kompromiss zwischen homogenen und (vollständig) heterogenen Architekturen gibt es Architekturen mit einem einheitlichen Befehlssatz (engl. Instruction
Set Architecture (ISA)) aber unterschiedlichen internen Architekturen, sogenannte
single-ISA heterogeneous multi-cores [317].
Beispiel 3.7: Die ARM ® big.LITTLE-Architektur ist ein prominentes Beispiel dafür.
Abb. 3.28 zeigt die Fließbandarchitektur des Cortex ® A-15 Prozessors [165].
R1
D3
D3
D3
D2
D2
D2
D1
D1
F4
F3
F2
D1
F5
F1
MAC pipe
Single Cluster 1 pipe
Single Cluster 0 pipe
E2
E2
E1
E1
E10
E9
E8
E7
E6
E5
E4
E2
E1
I1
I1
I1
I1
I1
Complex Cluster pipe
(variable length)
P2
P1
R2
E1
E1
WB
WB
WB
WB
WB
E10
E3
E3
Abb. 3.28 ARM ® Cortex ® A-15 Fließband
Es ist ein relativ komplexes Fließband mit mehreren Fließbandstufen für das
Holen von Befehlen, die Befehlsdekodierung, die Befehlsausgabe, die Befehlsausführung und das Abspeichern der Ergebnisse. Bei diesem Fließband müssen Befehle
mindestens 15 Stufen durchlaufen, bevor Ergebnisse abgespeichert werden können.
Eine dynamische Ablaufplanung erlaubt es, Befehle in einer Reihenfolge auszuführen, die sich von derjenigen unterscheidet, in der sie aus dem Speicher geholt
werden. Dies nennt man out-of-order execution. Mehrere Befehle können innerhalb
desselben Taktzyklus an die Ausführungseinheiten ausgegeben werden. Dies nennt
man multi instruction issue. Insgesamt ist diese Architektur sehr performant, aber
sie hat eine hohe elektrische Leistungsaufnahme.
Abb. 3.29 zeigt die Fließbandarchitektur des Cortex ® A-7 Prozessors [165]. Das
