Hardware Reference
In-Depth Information
41 Bit
41 Bit
41 Bit
5 Bit
Instruction Slot 2
Instruction Slot 1
Instruction Slot 0
Template
Abbildung 1.8. Das EPIC-Befehlsformat der Intel 64-Bit-Architektur (IA-64). Die drei
enthaltenen RISC-Befehle sind in so genannten Instruction Slots untergebracht; zusammen
bilden sie ein Bundel
den Befehlsworter dadurch sehr lang werden konnen, wird diese Art von
Befehlssatzen als Very Long Instruction Word bezeichnet, kurz VLIW.
Intel und HP haben sich 1994 zusammengeschlossen, um gemeinsam eine Ar-
chitektur fur 64-Bit-Prozessoren zu entwerfen. Mit dem aus der Kooperation
hervorgegangenen Befehlssatz verfolgen sie den VLIW-Ansatz. Weil dem Pro-
zessor explizit vorgegeben wird, welche Befehle er parallel ausfuhren soll, hat
man diesen Befehlssatz Explicit Parallel Instruction Computing , kurz EPIC,
genannt.
Der von Intel und HP erstmals in den Itanium-Prozessoren realisierte Befehls-
satz heißt IA-64 (Intel Architecture, 64 Bit). Jedes Befehlswort ist 128 Bit
lang und besteht aus drei RISC-Befehlen zu je 41 Bit sowie einem Template,
das Steuerungsinformationen enthalt. Dieses Format ist in Abbildung 1.8 dar-
gestellt. Das Template gibt daruber Auskunft, welche der Befehle tatsachlich
parallel ausgefuhrt werden konnen. Ein Befehlswort wird auch als Bundel
bezeichnet, die Platze, an denen Befehle stehen konnen, als Slots .
Es gibt dabei einige Einchrankungen zu beachten:
Bedingte Verzweigungen konnen immer nur den ersten Befehl eines Bun-
dels als Ziel haben.
Manche Befehle konnen nur an bestimmten Positionen innerhalb eines
Bundels stehen.
Ein Bundel kann nur maximal einen Gleitkommabefehl enthalten.
In einem 128-Bit langen Wort werden drei Befehle untergebracht. Klassi-
sche RISC-Prozessoren bringen dort vier Befehle unter.
Nicht ausgenutzte Slots mussen mit No-Operation aufgefullt werden. Die
Große des ausfuhrbaren Programms wachst fur diesen Befehlssatz gegenuber
anderen Befehlssatzen an.
Das Template gibt an, auf welcher Ausfuhrungseinheit ein Befehl ausgefuhrt
werden muss. Ferner schreibt das Template vor, ob ein Befehl vor einem
anderen beendet sein muss.
1.3.9 Exkurs: Stackmaschinen
Wir haben in Abschnitt 1.3.6 Ein-, Zwei- und Drei-Adress-Befehlsformate be-
sprochen. Als etwas exotische Variante gibt es daneben auch das Null-Adress-
Search WWH ::




Custom Search