Intel Itanium

Intel Itanium
Logo von Intel Itanium
Altes Logo von Intel Itanium
Itanium

Der Intel Itanium ist ein 64-Bit-Mikroprozessor, der gemeinsam von Hewlett-Packard und Intel entwickelt wurde und 2001 erstmals auf den Markt kam. Entwicklungsziel war eine Hochleistungsarchitektur der „Post-RISC-Ära“ unter Verwendung eines abgewandelten VLIW-Designs. Der native Befehlssatz des Itanium ist IA-64. Die Befehle der älteren x86-Prozessoren können nur in einem (sehr langsamen) Firmware-Emulationsmodus ausgeführt werden. Daneben bestehen Erweiterungen zur leichteren Migration von Prozessoren der PA-RISC-Familie.

Inhaltsverzeichnis

Design

Architektur des Itanium.

Die Post-RISC-Architektur des Itanium-Designs nennt sich Explicitly Parallel Instruction Computing (EPIC) und ist eine Variante der VLIW-Architekturen. Die Besonderheit von EPIC besteht darin, dass die CPU ausgewählte Instruktionen paarweise laden und auch zeitgleich ausführen kann – praktisch so, als ob es mehrere völlig unabhängige CPUs gäbe. Die Instruktionen passend parallel ausführbar zusammen zu bündeln ist eine nicht-triviale Aufgabe, die hier bereits der Compiler optimal lösen muss. Daher kommt dem Compiler bzw. dessen Optimierungsfähigkeiten eine besonders wichtige Bedeutung zu. Das Design verlagert also einen Teil der Komplexität weg von der CPU und hin zum Compiler. Weiter verwendet die CPU ähnlich wie RISC-Prozessoren nur eine kleine Zahl von Instruktionen, die sehr schnell ausgeführt werden können. Der Itanium verfügt wie die meisten modernen CPUs über mehrere parallele Funktionseinheiten – eine Voraussetzung für EPIC. Beim Laden und der Weitergabe der Instruktionen an die Funktionseinheiten unterscheidet sich der Itanium jedoch von der RISC-Philosophie durch den explizit parallelen Ansatz.

In einem traditionellen, superskalaren Design untersucht eine komplexe Dekodierlogik jede Instruktion vor ihrem Durchlauf durch die Pipeline. Man spricht von dynamischem Scheduling. Es wird geprüft, welche Befehle parallel auf unterschiedlichen Einheiten ausgeführt werden können. Die Instruktionsfolgen A = B + C und D = E + F beeinflussen sich nicht gegenseitig, sie können daher parallelisiert werden.

Die Vorhersage, welche Befehle gleichzeitig ausgeführt werden können, ist jedoch oft kompliziert. Die Argumente einer Instruktion hängen vom Resultat einer anderen ab, jedoch nur, wenn auch eine weitere Bedingung wahr ist. Eine leichte Modifikation des obigen Beispiels führt genau auf diesen Fall: A = B + C; IF A==5 THEN D = E + F. Hier sind die beiden Berechnungen weiter voneinander unabhängig, aber die zweite Befehlsfolge benötigt das Ergebnis der ersten Berechnung, um zu wissen, ob sie überhaupt ausgeführt werden soll.

In diesen Fällen versucht eine CPU, die dynamisches Scheduling einsetzt, unter Verwendung verschiedener Methoden das wahrscheinliche Ergebnis der Bedingung vorherzusagen. Moderne CPUs erreichen dabei Trefferquoten von etwa 90 %. In den restlichen 10 % der Fälle muss nicht nur auf das Ergebnis der ersten Berechnung gewartet werden, sondern auch die gesamte bereits vorsortierte Pipeline gelöscht und neu aufgebaut werden. Dies führt dazu, dass etwa 20 % der theoretischen Maximalrechenleistung des Prozessors verloren gehen.

Der Itanium geht das Problem ganz anders an, er verwendet statisches Scheduling, verlässt sich für die Sprungvorhersage also auf den Compiler. Dieser hat einen besseren Überblick über das Programm. Außerdem kann man durch Testläufe ermitteln, welche Sprünge wie oft ausgeführt werden (die GCC bietet dazu beispielsweise die Funktionen fprofile-arcs und fbranch-probabilities). Diese Informationen kann der Compiler verwenden, um bereits bei der Übersetzung des Programmcodes die Entscheidungen zu treffen, die sonst auf dem Chip zur Laufzeit getroffen werden müssten. Sobald dem Compiler bekannt ist, welche Pfade genommen werden, bündelt er parallel ausführbare Instruktionen zu einer größeren Instruktion. Diese lange Instruktion wird in das übersetzte Programm geschrieben. Daher der Name VLIW (Very Long Instruction Word, „sehr langes Befehlswort“).

Das Problem der effektiven Parallelisierung auf den Compiler zu verlagern hat mehrere Vorteile. Zunächst einmal kann der Compiler wesentlich mehr Zeit damit verbringen, den Code zu untersuchen. Diesen Vorteil hat der Chip nicht, da er so schnell wie möglich fertig sein muss. Zweitens ist die Vorhersage-Kernlogik recht komplex, und durch den neuen Ansatz lässt sich diese Komplexität enorm reduzieren. Der Prozessor muss den Code nicht mehr untersuchen, sondern löst die VLIW-Instruktionen nur noch in kleinere Einheiten auf, die er dann an seine Funktionseinheiten weiter gibt. Der Compiler kann daher so viel Parallelität wie möglich aus dem Programm holen und der Prozessor kann dann entsprechend seinen Fähigkeiten (der Anzahl der parallelen Funktionseinheiten) das Beste daraus machen.

Nachteil der Parallelisierung durch den Compiler ist die Tatsache, dass das Laufzeitverhalten eines Programms nicht notwendigerweise aus seinem Quellcode hervorgeht. Dies bedeutet, dass auch der Compiler „falsch“ entscheiden kann, theoretisch auch häufiger als eine ähnliche Logik auf der CPU. Die CPU hat z. B. noch den Vorteil, dass sie sich in gewissen Grenzen merken kann, welcher Sprung wie oft genommen wurde, was der Compiler ohne Testläufe nicht kann. Das Itanium-Design verlässt sich also stark auf die Leistung des Compilers. Es wird Hardwarekomplexität auf dem Mikroprozessor gegen Softwarekomplexität beim Compiler getauscht.

Programme können während der Ausführung von einem so genannten Profiler untersucht werden, der wiederum Daten über das Laufzeitverhalten der Anwendung sammelt. Diese Informationen können dann ebenfalls in den Compiliervorgang (Feedback-Directed Compilation) einfließen, um so eine bessere Optimierung zu erreichen. Diese Technik ist nicht neu und wurde schon bei anderen Prozessoren verwendet. Der Nachteil liegt darin, Repräsentative Daten zu verwenden. Bei synthetischen Benchmarks, die regelmäßig die gleichen Daten verwenden ist die Profiler gestützte Optimierung daher leicht und gewinnbringend anzuwenden.

Implementierung

Die Entwicklung der Itanium-Serie begann 1994 und basierte auf Grundlagenforschung seitens der Firma Hewlett-Packard bezüglich der VLIW-Technik. Ergebnis war ein von Grund auf neu entwickelter VLIW-Prozessor ohne Kompromisse, der sich jedoch nicht für den Arbeitseinsatz eignete (und auch nicht dafür vorgesehen war). Nachdem sich Intel an der Entwicklung beteiligte, wurden diesem „sauberen“ Prozessor verschiedene Funktionen hinzugefügt, die für die Vermarktung notwendig waren, insbesondere die Fähigkeit zur Ausführung von IA-32-(x86)-Instruktionen. HP steuerte Fähigkeiten zur Erleichterung der Migration von ihrer Hausarchitektur HP-PA bei.

Ursprünglich sollte der Itanium bereits 1997 erscheinen, seitdem hatte sich der Zeitplan jedoch mehrfach verschoben, bis im Jahr 2001 die erste Version mit dem Codenamen Merced ausgeliefert wurde. Angeboten wurden Geschwindigkeiten von 733 und 800 MHz sowie Cache-Größen von 2 oder 4 MB, die Preise lagen dabei zwischen 1.200 und ca. 4.000 US-Dollar. Die Leistung des neuen Prozessors war aber enttäuschend: Im IA-64-Modus war er nur unwesentlich schneller als ein gleich getakteter x86-Prozessor und wenn er x86-Code ausführen musste, brach die Leistung aufgrund der verwendeten Emulation auf etwa 1/8 der Leistung eines vergleichbaren x86-Prozessors ein. Intel behauptete dann, die ersten Itanium-Versionen seien keine „wirkliche“ Veröffentlichung gewesen.

Das größte (aber nicht einzige) Problem des Itanium ist die hohe Latenzzeit seines L3-Caches, wodurch die tatsächlich nutzbare Cache-Bandbreite stark vermindert wird. Intel war gezwungen, für den nächsten Anlauf den L3-Cache auf dem Die zu integrieren. Gleichzeitig wurden die Latenzen des primären und sekundären Caches bis unter die Werte des Power4-Prozessors von IBM gesenkt, der damals die niedrigsten Latenzzeiten erreichte. Außerdem wurde der Front Side Bus des Itanium von 266 MHz bei 64 Bit auf 400 MHz bei 128 Bit erweitert, so dass sich die Systembandbreite verdreifachte.

Diese Probleme wurden mit dem Nachfolger McKinley, der als Itanium 2 auf den Markt kam, behoben oder zumindest abgemildert.

Probleme

Schon kurz nach der offiziellen Vorstellung des Namens am 4. Oktober 1999[1] wurde der Spitzname Itanic[2] geprägt, der den Namen der Titanic aufgriff und somit den neuen Prozessor mit dem als „unsinkbar“ geltenden Schnelldampfer verglich, der auf seiner Jungfernfahrt mit einem Eisberg kollidierte und sank.

Obwohl es verschiedene Bemühungen gab, die Ausführungsgeschwindigkeit von x86-Code zu steigern, bleibt der Itanium für diesen Zweck im Allgemeinen zu langsam. Die Relevanz dieser Fähigkeit ist umstritten, da die meisten Kunden keine Itanium-Systeme kaufen, um darauf x86-Code auszuführen. Trotzdem plant Intel, die Emulationseinheit für x86-Code durch eine von Digitals FX!32 für den Alpha-Prozessor inspirierte Softwarelösung zu ersetzen. Man erhofft sich davon schnellere Ausführung und verringerte Chip-Komplexität. Software-Prozessoremulation hat ihre Vorbilder im Bereich Enterprise-Computing, wo sie z. B. auf der VAX oder der S/390 zum Einsatz kommt.

Durch die Verlagerung von Hardwarekomplexität in den Compiler kann sich ein Update-Problem für Anwender ergeben. Nach der Veröffentlichung einer Prozessorlinie vergeht geraume Zeit, bis entsprechende aktualisierte und fehlerfreie Compiler zur Verfügung stehen. Bis komplexe Anwendungssoftware auf neue Compiler umgestellt, erfolgreich getestet, ausgeliefert und schlussendlich beim Anwender eingesetzt wird, können weitere Monate oder Jahre vergehen. Bei Prozessoren im superskalaren Design profitieren Anwender in der Regel unmittelbar von Verbesserungen. Davon unbenommen sind in beiden Fällen Verbesserungen durch neue Instruktionen, die erst durch eine Änderung der Software verwendet werden können.

Eine Beschleunigung dieses Prozesses könnte möglicherweise erreicht werden, wenn der Hersteller entsprechende optimierende Compiler, mit dem speziellen Wissen um die eigene Architektur, frei und zeitnah anbieten würde. Insbesondere Programme mit Quelltext (Open Source/Closed Source), die auf Kundensystemen übersetzt werden, würden davon profitieren.

Aufgrund der jüngsten Itanium-Entwicklungen sollen HPs Alpha-Prozessor und die PA-RISC-Architektur auslaufen (Support wird ab 2007 für noch etwa fünf Jahre gewährt), SGI hat seine MIPS-basierten Workstations inzwischen zugunsten des Itaniums eingestellt.

Die Oracle Corporation hat im März 2011 angekündigt, dass sie Itanium Chips nicht mehr unterstützen wird.[3] Von diesem Schritt war auch HP überrascht. [4] HP hat deswegen Oracle verklagt, da HP meint, es bestehen Verträge mit Oracle, in dem eine langfristige Unterstützung der Itanium-Plattform geregelt sei. [5]

Einzelnachweise

  1. Michael Kanellos (October 4, 1999): Intel names Merced chip Itanium. CNET News.com. Abgerufen am 30. April 2007.
  2. Kraig Finstad (October 4, 1999, 3:00 a.m.): Re:Itanium. USENET group comp.sys.mac.advocacy. Abgerufen am 24. März 2007.
  3. Oracle Stops All Software Development For Intel Itanium Microprocessor vom 22. März 2011 (engl.)
  4. HP Supports Customers Despite Oracle’s Anti-customer Actions vom 23. März 2011 (engl.) HP News release
  5. Spiegel Online vom 16. Juni 2011

Siehe auch

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

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

  • Intel Itanium 2 — Itanium 2 Logo Altes Itanium 2 Logo …   Deutsch Wikipedia

  • Intel Itanium — Itanium Processeur Itanium L Itanium est un processeur 64 bits développé par Intel en coopération avec différents constructeurs informatiques (HP, Bull, etc.), visant initialement à remplacer l architecture x86/CISC. L architecture Itanium,… …   Wikipédia en Français

  • Intel Itanium — Microprocesador Procesador Itanium Producción Junio de 2001   Actualidad Fabr …   Wikipedia Español

  • Intel itanium 2 — L Itanium 2 est un microprocesseur d architecture IA 64. Il est le successeur de l Itanium. Présenté pour la première fois le 8 juillet 2002, il a été déve …   Wikipédia en Français

  • Intel Itanium 3 — Le processeur Itanium 3 est le successeur des processeurs Itanium et Itanium 2. Nom de code Tukwila, ce processeur quadricœur à 2 GHz possède 2,05 milliards de transistors, est gravé en 65 nm, dégage 130 watts et sortira en fin d année 2008.… …   Wikipédia en Français

  • Intel Itanium 2 — Itanium 2 Microprocesador Producción mediados de 2002   el presente Fabricante(s) Intel …   Wikipedia Español

  • Intel Itanium 2 — L Itanium 2 est un microprocesseur d architecture IA 64. Il est le successeur de l Itanium. Présenté pour la première fois le 8 juillet 2002, il a été développé conjointement par Hewlett Packard (HP) …   Wikipédia en Français

  • Intel Itanium — El Itanium, también conocido su nombre en código Merced, fue el primer procesador IA64 que Intel lanzó al mercado. Aunque su lanzamiento inicialmente se planeó para 1998, no se produjo hasta mayo de 2001. Este procesador se fabricaba utizando un… …   Enciclopedia Universal

  • Intel Itanium 2 — El Itanium 2 es un procesador de arquitectura IA 64 que fue desarrollada conjuntamente por Intel y Hewlett Packard, introducida en julio de 2002. Esto puso la arquitectura de vuelta en terrenos y obtuvo el liderazgo de rendimiento en muchas… …   Enciclopedia Universal

  • Arquitectura Intel Itanium — Intel Itanium, antes conocida como IA 64 (Intel Architecture 64), es una arquitectura de 64 bits desarrollada por Intel en cooperación con Hewlett Packard para su línea de procesadores Itanium e Itanium 2. Usa direcciones de memoria de 64 bits y… …   Wikipedia Español

Share the article and excerpts

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