Very Long Instruction Word (VLIW) ist ein Prozessor-Design, bei dem ein einzelnes maschinensprachliches Befehlswort mehrere unabhängige Operationen enthält, die der Prozessor gleichzeitig ausführt. Die Parallelität wird vom Compiler geplant – nicht von der Hardware.

Die Idee

Ein VLIW-Befehl ist 128 oder 256 Bit breit und steckt mehrere Operationen nebeneinander, etwa so:

| ALU-Op 1 | ALU-Op 2 | FP-Op | Load | Branch |

Jeder Slot gehört zu einer eigenen Funktionseinheit. Damit in jedem Takt alle Slots gefüllt sind, muss der Compiler die Datenabhängigkeiten exakt analysieren und unabhängige Operationen zusammenlegen – Instruction Scheduling und Codegenerierung leisten das (explizite Parallelität).

Geschichte und Beispiele

  • 1980er-Forschung: Yale-Entwürfe, Multiflow Trace und Cydrome
  • Transmeta Crusoe (um 2000): übersetzt x86-Befehle zur Laufzeit in VLIW-Mikrooperationen
  • Intel/HP IA-64 „Itanium“ (2001): EPIC-Ansatz mit Vorhersage und spekulativem Laden – kommerziell nicht durchgesetzt, aber die Techniken flossen in spätere Entwürfe ein
  • DSPs wie der TI TMS320C6x und eingebettete Medienprozessoren; frühere AMD-GPU-Shader nutzten ebenfalls VLIW

Vor- und Nachteile

Vorteile: Die Hardware bleibt einfach – kein Superskalar-Scheduling, kein Out-of-Order und kein Register-Renaming nötig. Das spart Transistoren und Strom und liefert deterministische Takte.

Nachteile: Der Compiler muss Cache-Latenzen und Sprungverhalten vorhersagen. Bei Speicherzugriffen und Verzweigungen bleiben Slots oft leer; fehlende binäre Kompatibilität, wenn sich die Breite ändert; Code wird größer durch NOP-Füllung. Deshalb hat sich VLIW vor allem in DSPs und eingebetteten Systemen gehalten, wo die Programme bekannt und planbar sind.

Abgrenzung

Superskalare Prozessoren entscheiden zur Laufzeit (dynamisch), welche Befehle parallel laufen; RISC-Prozessoren führen einfache Befehle einzeln aus; VLIW legt die Parallelität vorab im Compiler fest (statisch). Das Pipelining bleibt in allen Fällen die Grundlage, um mehrere Operationen pro Takt zu starten. Auch FPU-Operationen lassen sich so parallel planen. In der Debatte um CISC und RISC war VLIW der dritte Weg: nicht komplexe Einzelbefehle, sondern breite Befehlswörter aus vielen einfachen Operationen.