CPU-Grundlagen: VLIW-Architekturen & Intels Itanium

Itanium Befehlsformat

Die Itanium-Architektur speichert die (einfachen) Instruktionen in 41 Bits. Zur Kodierung teilt sie alle Befehle in Klassen ein, für deren Ausführung verschiedene Hardware-Einheiten bereitstehen. Dabei gelten folgende Zusammenhänge:

IA Instruktions- und Ausführungstypen

Instruction Type

Description

Execution Unit Type

A

Integer ALU

I- or M-Unit

I

Non-ALU Integer

I-Unit

M

Memory

M-Unit

F

Floating Point

F-Unit

B

Branch

B-Unit

L + X

Extended

I-Unit

Die Kodierung erfolgt für die einzelnen Instruktionstypen unterschiedlich, da Intel zum Teil sich widersprechende Eigenschaften realisieren musste. Allerdings hat man versucht, die Kodierung möglichst einheitlich zu gestalten, was dem RISC-Prinzip entspricht: Jede Instruktion passt komplett mit allen Daten in einen Instruktions-Slot mit 41 Bit Länge.

Das obenstehende Bild zeigt jedoch eine Ausnahme: Die Kodierung von 64-Bit-Immediate-Daten. Hier existiert die gleiche Problematik wie bei RISC-Architekturen, da die Kodierung der Daten nicht in das Befehlsgrundformat passt. Die Lösung bei der IA heißt Extended Format (X) und bedeutet, dass der Compiler die 64-Bit-Konstante auf zwei Instruktionen verteilt. Das Kodierungsformat "0110" am Anfang sowie das Bit 20 (extension bit) auf 1 zeigen dem Prozessor die Aufteilung an.