172
3 Hardware eingebetteter Systeme
enthalten ist, kann nicht direkt in der ersten Fließbandstufe entdeckt werden. Wenn
die Ausführung des Sprungbefehl endgültig abgeschlossen ist, wurden bereits weitere Befehle im Fließband bearbeitet (siehe Abb. 3.26).
Sprung
Stufen
Fließbanddelay slots
t
Befehle holen
Befehle dekodieren
Befehle ausführen
Ergebnis abspeichern
Stufen
Abb. 3.26 Sprungbefehl und delay slots
Es gibt im Wesentlichen zwei Methoden, mit diesem potentiellen Leistungsverlust
umzugehen:
1. Die Befehle werden so ausgeführt, als wären gar keine Sprungbefehle vorhanden.
Dieser Fall heißt verzögerter Sprung (engl. delayed branch). Die Befehle des
Befehlspaketes, die nach dem Sprung noch ausgeführt werden, heißen Befehle in
branch delay slots. Delay slots können mit Befehlen gefüllt werden, die ohne delay
slots vor dem Sprung ausgeführt werden würden. Im Allgemeinen schwierig,
alle delay slots mit sinnvollen Befehlen zu füllen, und so müssen einige mit
no-operation (NOP)-Befehlen aufgefüllt werden. Der Ausdruck branch delay
penalty gibt den Geschwindigkeitsverlust aufgrund dieser NOPs an.
2. Das Fließband wird angehalten, bis die ersten Befehle vom Sprungziel des Sprunges geladen worden sind. So gibt es keine branch delay slots und die branch delay
penalty-Zyklen werden durch das Anhalten des Fließbandes verursacht.
Die branch delay penalties können sich sehr deutlich auswirken. Man kann die
bedingte Ausführung (engl. predicated execution, siehe Seite 164) von Befehlen
ausnutzen, um Sprünge aufgrund von if-Anweisungen zu vermeiden.
Der Crusoe-Prozessor ™ ist ein (kommerziell nicht erfolgreiches) Beispiel eines
EPIC-Prozessors für PCs [296]. Der IA-64 Befehlssatz [250] und seine Implementierung in den Itanium ® -Prozessoren waren der Versuch von Intel, EPIC-Befehlssätze
im PC-Markt einzuführen. Durch Probleme mit vorhandener Software hatte sich
aber der Servermarkt als Haupteinsatzgebiet herausgestellt. Viele MPSoC-Systeme
(siehe Seite 178) verwenden VLIW- und EPIC-Prozessoren.
Mehrkern-Prozessoren
Die bislang beschriebenen Merkmale von Einzel-Prozessoren haben geholfen, hoch
performante Prozessoren auf ressourcengewahre Weise zu entwerfen. Allerdings hat
Précédent

- 194/485

Suivant