Movatterモバイル変換


[0]ホーム

URL:


Zum Inhalt springen
WikipediaDie freie Enzyklopädie
Suche

Intel Itanium

aus Wikipedia, der freien Enzyklopädie
     Itanium   >>

Logo
Produktion:2001 bis 2002
Produzent:Intel
Prozessortakt:733 MHz bis 800 MHz
FSB-Takt:133 MHz
L3-Cachegröße:2 MiB bis 4 MiB
Fertigung:180 nm
Befehlssatz:IA‑64,IA‑32 (Emulation)
Mikroarchitektur:Itanium
Sockel:PAC418 „Slot M“
Name des Prozessorkerns:Merced

DerIntel Itanium ist ein 64-Bit-Mikroprozessor, der gemeinsam vonHewlett-Packard undIntel entwickelt wurde und 2001 erstmals auf den Markt kam. Entwicklungsziel war eine Hochleistungsarchitektur der „Post-RISC-Ära“ unter Verwendung eines abgewandeltenVLIW-Designs. Der native Befehlssatz des Itanium istIA-64. Die Befehle der älterenx86-Prozessoren können nur in einem (sehr langsamen)Firmware-Emulationsmodus ausgeführt werden. Daneben bestehen Erweiterungen zur leichteren Migration von Software, die für Prozessoren derPA-RISC-Familie entwickelt wurde. Nachfolger ist derItanium 2.

Design

[Bearbeiten |Quelltext bearbeiten]
Intel Itanium: Funktionsblockschaltbild
Itanium: Altes Logo
Itanium: Cartridge

Die Post-RISC-Architektur des Itanium-Designs nennt sichExplicitly Parallel Instruction Computing (EPIC) und ist eine Variante derVLIW-Architekturen. Die Besonderheit von EPIC besteht darin, dass dieCPU ausgewählte Instruktionen paarweise laden und auch gleichzeitig 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 derCompiler 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 wieRISC-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 diePipeline. Man spricht vondynamischem 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 zu diesem 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 daswahrscheinliche 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 verlorengehen.

Der Itanium geht das Problem ganz anders an, er verwendetstatisches Scheduling, verlässt sich für die Sprungvorhersage also auf den Compiler. Dieser hat zwar einen vollständigeren Überblick über das Programm, jedoch nicht über die konkreten Laufzeitbedingungen (d. h. Use-cases und Parametrisierung die erst zur Laufzeit feststehen). Diese dem Compiler unbekannten Laufzeitinformation können jedoch über dieProfile-Guided-Optimization-Technik über definierte Testläufe vorgegeben werden. Ergebnisse sind z. B. welche Sprünge wie oft ausgeführt werden (dieGCC bietet dazu beispielsweise die Funktionen fprofile-arcs und fbranch-probabilities) und welche Funktionen Hot-Spots sind. 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. Dieselange Instruktion wird in das übersetzte Programm geschrieben. Daher der NameVLIW (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 arbeiten muss. Zweitens ist die Vorhersagelogik 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 an seine Funktionseinheiten weitergibt. Der Compiler kann daher so viel Parallelität wie möglich aus dem Programm holen, und der Prozessor kann dann entsprechend seiner 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.[1] Es wird Hardwarekomplexität auf dem Mikroprozessor gegen Softwarekomplexität beim Compiler getauscht.

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

Implementierung

[Bearbeiten |Quelltext bearbeiten]

Die Entwicklung der Itanium-Serie begann 1994 und basierte aufGrundlagenforschung seitens der FirmaHewlett-Packard bezüglich derVLIW-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). NachdemIntel begonnen hatte, sich an der Entwicklung zu beteiligen, wurden diesem „sauberen“ Prozessor verschiedene Funktionen hinzugefügt, die für die Vermarktung notwendig waren, insbesondere die Fähigkeit zur Ausführung vonIA-32-(x86)-Instruktionen. HP steuerte Fähigkeiten zur Erleichterung der Migration von seiner HausarchitekturHP-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 CodenamenMerced ausgeliefert wurde. Angeboten wurden Geschwindigkeiten von 733 und 800 MHz sowie Cache-Größen von 2 oder 4 MiB, 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 getakteterx86-Prozessor, und wenn er x86-Code ausführen musste, brach die Leistung wegen der verwendeten Emulation auf etwa ein Achtel 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 demDie zu integrieren. Gleichzeitig wurden die Latenzen des primären und sekundären Caches bis unter die Werte desPower4-Prozessors vonIBM gesenkt, der damals die niedrigsten Latenzzeiten erreichte. Außerdem wurde derFront 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 behoben oder zumindest abgemildert.

Probleme

[Bearbeiten |Quelltext bearbeiten]

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

Der Intel Itanium hatte von Anfang an mit zwei großen Problemen zu kämpfen. Das erste war hausgemacht, das zweite war etwas überraschender.

  • Das erste war die Folge einer schweren und absehbaren Fehlentscheidung im Hause Intel, keine Hardware-Unterstützung für die Ausführung von x86-32-Code zu bieten und x86-32-Code, wenn auch mit gewisser Hardware-Unterstützung durch geeignete Befehle, zu emulieren (Legacy Drop). Man hoffte vergebens darauf, dass alle wichtigen Programme schnell auf die Itanium-Plattform portiert werden, was aber nur sehr zögerlich passierte oder gar ganz ausblieb. Software, die zum großen Teil noch als x86-32-Code vorlag, lief auf Itanium-Rechnern sehr langsam. Die Emulation erreichte die Geschwindigkeit einesPentium-100, zu Zeiten als es denAMD Athlon XP mit 1600 MHz, Pentium-III Tualatin mit 1400 MHz und Pentium 4 Willamette mit 2000 MHz zu einem Bruchteil des Preises gab. Obwohl es verschiedene Bemühungen gab, die Ausführungsgeschwindigkeit von x86-Code zu steigern, blieb der Itanium für diesen Zweck allgemein zu langsam. Die Relevanz dieser Fähigkeit ist zwar umstritten, da die meisten Kunden keine Itanium-Systeme kaufen, um darauf x86-Code auszuführen. Auf der anderen Seite waren dadurch Itanium-Systeme wirklich nur bei Vorliegen von geeigneter Software für Server und nicht als allgemeine PC-Workstations zu gebrauchen. Intel plante die Emulationseinheit für x86-Code durch einenJIT-Compiler, inspiriert von DigitalsFX!32 für denAlpha-Prozessor, zu ersetzen. Man erhoffte sich davon schnellere Ausführung und verringerte Chip-Komplexität. Aber eigentlich war der Boden für den Itanium ziemlich schnell verbrannt.
  • Das zweite Problem waren die Fortschritte in der CPU-Entwicklung Ende der 1990er und Anfang der 2000er Jahre, teilweise angeheizt durch das Wettrennen zwischen Intel und AMD, teilweise auf Grund technologischer Fortschritte dieser Zeit. Die klassischen CPUs hatten in der Zeit der Konzeptphase und erster Implementierungen des Itaniums sowohl im Bereich Taktfrequenz (Faktor 20) wie auch im Bereich Effizienz (Faktor 2 bis 5) innerhalb weniger Jahre so viel zugelegt, so dass das Zielgebiet des Itaniums schon nahezu erreicht war, als dieser dort nach einigen Verzögerungen einschlug. Insbesondere kam es zu einer Entkopplung zwischen Befehlssatz einer CPU und der Ausführung von Code, die das Grundkonzept des Itaniums ad absurdum führte. Es war im Endeffekt sogar so, dass sich die klassischen CPUs selbst besser an die gegebene Software anpassen konnten (sieheOut-of-order execution,Registerumbenennung,SIMD,Speculative execution,Sprungvorhersage undPrefetching) als der Itanium mit seiner starren Optimierung während derÜbersetzungszeit, in der man alles über das Zielsystem wissen musste, inklusive der Zugriffszeiten auf den Hauptspeicher.

Durch die Verlagerung von Hardwarekomplexität in den Compiler tritt, wie schon eben angedeutet, das Problem auf, dass für eine optimale Performance der Software diese auf jedem Zielsystem mit einem für dieses Zielsystem optimierten Compiler jeweilsprofiliert und kompiliert werden müsste, was beiClosed-Source-Software unmöglich und beiOpen-Source-Software aufwendig ist. 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 imsuperskalaren Design profitieren Anwender in der Regel unmittelbar von Verbesserungen. Davon unbenommen sind in beiden Fällen Verbesserungen durch neue Prozessorbefehle, die erst durch eine Änderung der Software verwendet werden können.

Verkaufsprognosen: Die 2000 anvisierten Verkaufs­zahlen wurden über 6 Jahre nach unten korrigiert und wurden nie auch nur ansatzweise erreicht.

Der Itanium, konzipiert als neue Hochleistungs-CPU, war schon bei Ankunft ein nahezu totes Pferd. Intel hat allerdings über zehn Jahre gebraucht, sich daseinzugestehen. Die Entwicklung wurde halbherzig über 10 Jahre bis 2012 fortgeführt. Der Hauptaufwand der Entwicklung wurde in den damals boomenden Markt der x86-64-CPUs gesteckt, wo auch das meiste Geld hereinkam.

Eine Beschleunigung dieses Prozesses hätte möglicherweise erreicht werden können, indem der Hersteller entsprechende optimierende Compiler, mit dem speziellen Wissen um die eigene Architektur, frei und zeitnah angeboten hätte. Insbesondere Programme mit Quelltext, die auf Kundensystemen übersetzt werden, hätten davon profitiert.

Aufgrund der Itanium-Entwicklungen sollten HPsAlpha-Prozessor und diePA-RISC-Architektur auslaufen (Unterstützung dieser Plattformen sollte ab 2007 für noch etwa fünf Jahre gewährleistet sein),SGI hat seineMIPS-basierten Workstations inzwischen zugunsten des Itaniums eingestellt.

DieOracle Corporation kündigte im März 2011 an, dass sie Itanium-Chips nicht mehr unterstützen werde.[4] Von diesem Schritt war auch HP überrascht.[5] HP verklagte deswegen Oracle, da HP der Auffassung war, es bestünden Verträge mit Oracle, in denen eine langfristige Unterstützung der Itanium-Plattform geregelt sei.[6] Im Streit setzte sich HP vor Gericht durch. Demnach muss Oracle weiterhin Software für Itanium anbieten.[7]

Der FreeBSD-Support wurde schon im Oktober 2016 mit dem Release 11 eingestellt.[8]

Der Linux-Support wurde im November 2023 mit dem Kernel 6.7 eingestellt und seitdem außerhalb des Kernels (out-of-tree) weiterentwickelt.[9][10]

Modelldaten

[Bearbeiten |Quelltext bearbeiten]

Merced

[Bearbeiten |Quelltext bearbeiten]
  • RevisionC0,C1 undC2[11]
  • L1-Cache: 16 + 16 KiB (Daten + Instruktionen)
  • L2-Cache: 96 KiB on-die
  • L3-Cache: 2 und 4 MiB mit Prozessortakt
  • IA-64,IA-32-Emulation:MMX,SSE
  • PAC418
  • 64-Bit-Bus mit 133 MHz DDR (FSB266)
  • Betriebsspannung (VCore):
  • Leistungsaufnahme (TDP): 114 W (2 MiB L3-Cache) und 130 W (4 MiB L3-Cache)
  • Erstes Erscheinungsdatum: Juni 2001
  • Fertigungstechnik: 180 nm
  • Die-Größe: 300 mm² bei 325 MillionenTransistoren (davon 300 Millionen für den L3-Cache)
  • Taktraten:
    • 733 MHz mit 2 oder 4 MiB L3-Cache
    • 800 MHz mit 2 oder 4 MiB L3-Cache

Nachfolger

[Bearbeiten |Quelltext bearbeiten]

Dem Itanium Merced folgte rasch der Itanium 2.

Siehe:Intel Itanium 2

JahrTypTaktfreq.KerneL1L2L3
2001Itanium (Merced)0,73–0,80 GHz116+16 K096 K02–4 M
2002–05Itanium 2 (McKinley and Madison)0,90–1,67 GHz256 K01½–9 M
2006–07Itanium 2 9000 and 91001,40–1,67 GHz2256+1024 K06–24 M
2010Itanium 9300 (Tukwila)1,33–1,73 GHz2–4256+512 K10–24 M
2012Itanium 9500 (Poulson)1,73–2,53 GHz4–820–32 M
2017Itanium 9700 (Kittson)1,73–2,66 GHz

Siehe auch

[Bearbeiten |Quelltext bearbeiten]

Weblinks

[Bearbeiten |Quelltext bearbeiten]
Commons: Itanium 1 – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

[Bearbeiten |Quelltext bearbeiten]
  1. Andy Patrizio: Why Intel can't seem to retire the x86. ITworld, 4. März 2013, archiviert vom Original am 16. Mai 2013; abgerufen am 15. April 2013 (englisch). 
  2. Michael Kanellos: Intel names Merced chip Itanium. In: CNET News.com. 4. Oktober 1999, abgerufen am 30. April 2007 (englisch). 
  3. Kraig Finstad: Re:Itanium. In: USENET group comp.sys.mac.advocacy. 4. Oktober 1999, abgerufen am 24. März 2007 (englisch). 
  4. Oracle Stops All Software Development For Intel Itanium Microprocessor vom 22. März 2011 (engl.)
  5. HP Supports Customers Despite Oracle’s Anti-customer Actions, HP News release vom 23. März 2011 (engl.).
  6. Yasmin El-Sharif: Prozessorstreit: Hewlett-Packard verklagt Oracle. In: Spiegel Online. 16. Juni 2011, abgerufen am 26. Juli 2015. 
  7. Jens Ihlenfeld: Itanium-Prozessor: HP gewinnt gegen Oracle. In: Golem. 1. August 2012, abgerufen am 26. Juli 2015. 
  8. Releasenotes. In: freebsd.org. 10. Oktober 2016, abgerufen am 31. Januar 2024 (englisch). 
  9. Michael Larabel: Intel Itanium IA-64 Support Removed With The Linux 6.7 Kernel. 2. November 2023, abgerufen am 31. Januar 2024 (englisch). 
  10. linux-ia64. Abgerufen am 1. Oktober 2024 (englisch): „Maintenance and development of the Linux operating system for Intel Itanium architecture (IA-64)“ 
  11. Adrian Offerman: The Processor Portal: Intel Itanium processor (Merced). In: The Chiplist. Abgerufen am 12. Februar 2017 (englisch). 
Intel-Prozessoren
Vor-x86-Prozessoren
Desktop

4004 •4040 •8008 •8080 •8085

iAPX-86 bis zur 4. Generation
Pentium-Serie
Celeron-Serie
Core-Serie
Xeon-Serie
Atom-Serie
Desktop

Atom

x86-kompatibleSoCs
Desktop

Quark •Edison

Nicht-x86-Prozessoren
Desktop

iAPX 432 •i860 •i960 •Itanium •Itanium 2 •XScale

Weitere Listen: Celeron • Pentium • Core 2 • Core i
Intel-Mikroarchitekturen
Abgerufen von „https://de.wikipedia.org/w/index.php?title=Intel_Itanium&oldid=260673373
Kategorien:

[8]ページ先頭

©2009-2026 Movatter.jp