Very Long Instruction Word

Very Long Instruction Word

Very Long Instruction Word (VLIW) bezeichnet eine Eigenschaft einer Befehlssatzarchitektur (engl. Instruction Set Architecture, kurz: ISA) einer Familie von Mikroprozessoren. Ziel ist die Beschleunigung der Abarbeitung von sequentiellen Programmen durch Ausnutzung von Parallelität auf Befehls-Ebene. Im Gegensatz zu superskalaren Prozessoren werden bei VLIW die Befehle nicht dynamisch zur Laufzeit vom Prozessor den einzelnen Funktionseinheiten zugewiesen, sondern der Compiler gruppiert parallel ausführbare Befehle. VLIW schließt die Verwendung einer Pipeline-Architektur nicht aus.

Inhaltsverzeichnis

Realisierung

Parallelausführung (EX) von Befehlen bei VLIW in einer Pipeline

Der Compiler überprüft während der Übersetzungszeit eines Programms, welche Instruktionen parallel ausgeführt werden können. Diese parallelisierbaren Instruktionen werden in Gruppen zusammengefasst und ins Befehlsformat eingetragen. Dabei richtet sich die Gruppengröße nach der Anzahl der zu Verfügung stehenden parallel arbeitenden Ausführungseinheiten. Dies ist wiederum architekturabhängig. Die Instruktionen eines Befehls, der auch Leerinstruktionen zum Auffüllen enthalten kann, werden durch die Ausführungseinheiten zur Laufzeit des Programms parallel verarbeitet.

Eigenschaften

Wie der Name bereits sagt, ist ein Hauptmerkmal für VLIW das breite Befehlsformat, welches mehrere Instruktionen auf einmal enthält. Im Gegensatz zur Superskalartechnik übernimmt der Compiler die Aufgabe der Umordnung und Markierung der parallel ausführbaren Befehle, mit dem Ziel, die verfügbare Parallelität von Befehlsfolgen optimal zu nutzen. Zusätzliche Hardwarelogik, wie beispielsweise bei der Superskalartechnik, ist nicht notwendig; dadurch ist auf der CPU mehr Platz für weitere Funktionseinheiten vorhanden.

Die Parallelität auf Befehlsebene, die VLIW bietet, kann nicht immer voll ausgenutzt werden, wenn z. B. in einem Takt auf Grund von Datenabhängigkeiten nur ein Befehl ausgeführt werden kann. In diesen Fällen wird die Breite des Befehlswortes nicht ausgenutzt. Manche Hersteller versuchen, dieses Overhead-Problem durch eigene VLIW-Erweiterungen zu lösen. Texas Instruments entwickelte beispielsweise die VelociTI-Technik, bei der mehrere Befehle aufeinander folgender Takte in ein Befehlswort gepackt werden können. Bits an den Grenzen der einzelnen Befehle zeigen an, ob der folgende Befehl noch im gleichen oder erst im nächsten Takt ausgeführt werden soll. Ein ähnliches Konzept verwendet Intel in seiner IA-64-Architektur.

Vorteile:

  • Mehr Platz für die Funktionseinheiten
  • Einfacher Kontrollpfad
  • Gute Ausnutzung durch Compiler-Techniken wie Software-Pipelining

Nachteile:

  • Code lässt sich nicht unbedingt ohne größere Änderung auf andere Prozessoren portieren

Beispiele

Die VLIW-Architektur wurde erstmals 1978 im russischen Superskalarrechner ELBRUS-1 realisiert[1]. Gemäß internationaler Ankündigung des russischen Elbrus 2000-Mikroprozessor im Jahre 1999 wurde diese Architektur erstmals auf Mikroprozessoren übertragen.

Die VLIW-Architektur wird in den CPUs von Transmeta benutzt, im Crusoe und im Efficeon. Ebenfalls auf der VLIW-Architektur basieren die (nicht massenvermarkteten) Prozessoren von Tilera Technologies, einem Joint Venture u. a. von Intel, welches sich auf massive SMP-Mehrkernprozessoren spezialisiert hat.

Eine moderne, abgeänderte Implementation der VLIW-Architektur ist Intels Itanium-CPU, welche in diesem Fall EPIC genannt wird.

AMD verwendet bei seinen Grafikprozessoren der Serien R600-RV870 eine VLIW-Technik um bis zu fünf parallele Instruktionen auf einem VLIW-Shader auszuführen. Die Entwicklung der R600-Architektur datiert allerdings in die Zeit zurück, als ATI Technologies noch ein eigenständiges Unternehmen war. Zu Anfang war die Architektur der von Nvidia noch leistungsmäßig unterlegen, erlaubte aber AMD in der Weiterentwicklung immer mit deutlich niedrigeren Transistormengen und Shader-Taktraten gegenüber Hauptkonkurrent Nvidia erfolgreich zu konkurrieren. Nvidias skalare Lösung setzt auf eine hohe Auslastung und braucht dabei nicht nur mehr Transistoren für eine vergleichbare Leistung, sondern auch einen viel höheren Takt, was bezüglich Energieeffizienz letztendlich zu großen Nachteilen gegenüber der VLIW-Architektur führt.

Literatur

  • Binu Mathew: Very Large Instruction Word Architectures. In: Vojin G. Oklobdzija (Ed.): The Computer Engineering Handbook, CRC Press, Boca Raton 2001, ISBN 9780849308857, (online).

Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Very long instruction word — or VLIW refers to a CPU architecture designed to take advantage of instruction level parallelism (ILP). A processor that executes every instruction one after the other (i.e. a non pipelined scalar architecture) may use processor resources… …   Wikipedia

  • Very Long Instruction Word — VLIW, initiales de Very Long Instruction Word en anglais, traduit littéralement par « Mot d instruction très long », dénote une famille d ordinateurs dotés d un processeur à mot d instruction très long (couramment supérieur à 128 bits) …   Wikipédia en Français

  • Instruction set — An instruction set, or instruction set architecture (ISA), is the part of the computer architecture related to programming, including the native data types, instructions, registers, addressing modes, memory architecture, interrupt and exception… …   Wikipedia

  • Instruction Set Architecture — Eine Befehlssatzarchitektur (engl. Instruction Set Architecture, kurz: ISA) ist – vereinfacht gesagt – die formale Spezifikation bestimmter Verhaltensweisen eines Prozessors aus Sicht seines Programmierers, auf die sich dieser bei der… …   Deutsch Wikipedia

  • Instruction (computer science) — In computer science, an instruction is a single operation of a processor defined by an instruction set architecture. In a broader sense, an instruction may be any representation of an element of an executable program, such as a bytecode.On… …   Wikipedia

  • Explicitly Parallel Instruction Computing — EPIC bezeichnet eine Eigenschaft einer Befehlssatzarchitektur (englisch Instruction Set Architecture, kurz ISA) und der Verarbeitungsstruktur einer Familie von Mikroprozessoren, z. B. Itanium. Bei der Programmierung von EPIC CPUs wird… …   Deutsch Wikipedia

  • Explicitly parallel instruction computing — (EPIC) is a term coined in 1997 by the HP Intel alliance [cite web url = http://www.hpl.hp.com/techreports/1999/HPL 1999 111.pdf title = EPIC: An Architecture for Instruction Level Parallel Processors accessdate = 2008 05 08 last = Schlansker and …   Wikipedia

  • No instruction set computing — (NISC) is a computing architecture and compiler technology for designing highly efficient custom processors and hardware accelerators by allowing a compiler to have low level control of hardware resources. Contents 1 Overview 2 History 3 See also …   Wikipedia

  • Word (computing) — In computing, word is a term for the natural unit of data used by a particular computer design. A word is simply a fixed sized group of bits that are handled together by the machine. The number of bits in a word (the word size or word length) is… …   Wikipedia

  • Word (computer architecture) — Processors 1 bit 4 bit 8 bit 12 bit 16 bit 18 bit 24 bit 31 bit 32 bit 36 bit 48 bit 60 bit …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”