@8)
Das stimmt so auch nur bedingt, dass Opteron und Xeon Konkurrenten für den Itanium wären. Das mittlerweile "besondere" am Itanium ist nicht mehr seine 64Bit Kompatibilität (genauer gesagt seine 32Bit INKompatibilität), sondern vielmehr, wie diese CPU intern arbeitet.
Während x86 CPUs enorm viel Logik in sich vereinen und somit ein beachtlicher Teil der Chipfläche für Dinge wie Prefetching Logik, Out of Order Execution Engines und Reorder Buffers draufgehen, verzichtet der Itanium vollständig auf diesen Schnickschnack und investiert die freiwerdende Chipfläche in einfachere Strukturen, mehr Execution Units (Itaniums haben meines Wissens nach mind. 4 FPUs, die x86er je nachdem nur 2 pro Kern) und vor allem mehr On-Die Cache.
Natürlich hat das einen gewaltigen Preis: Die CPU ist nicht in der Lage zur Ausführungszeit die Abfolge von Instruktionen zu verändern um den "Workflow" wenn man so will zu opimieren. Stattdessen ist sie auf die Intelligenz con Compilern oder auf handoptimierten Assembler angewiesen, so dass die Instruktionen passend zu ihren Fähigkeiten geliefert werden. Das verkompliziert die Compilerentwicklung ungemein und war auch einer der Gründe, warum der Itanium zu Beginn nur schwer Fuß fassen konnte - die Compiler waren einfach mies.
Die Handoptimierung ist auch alles andere als trivial. Neben den üblichen Assembler-Gängeleien muss ich der Programmierer mehr als beim x86er mit der Hardwarearchitektur (also dem Chipdesign) auskennen um zu wissen, wieviele Floating Point Operationen, SSE Operationen und ALU Operationen der Itanium pro Taktzyklus gleichzeitig bearbeiten kann und dann muss man dafür sorgen, dass diese passend im Assembler zusammstehen, so dass zur Laufzeit die passenden VLIWs (Very Large Instruction Words) erzeugt werden können. Intel schimpft es glaub ich EPIC.
Bitte aber nicht falsch verstehen, auch bei x86ern bringt die handopitimierung von Assemblercode enorm viel. Grade dann, wenn man es schafft, das Speichersystem zu maskieren, kann einfach kein C-Compiler mit ein paar hundert Zeilen gutem Assembler mithalten. Natürlich programmiert keiner ne GUI in Assembler, ich spreche auch mehr von der Implementierung mathematischer Kernel für Bibliotheken wie Matrixoperationen, Fourier Transformationen und ähnliches.