McKinley oder McMonster?

05.02.2002 von Michael Eckert
Intel wagt sich mit dem Nachfolger des Itanium auf unbekanntes Gebiet. Noch nie zuvor wurden so viele Transistoren auf einem Chip vereint. Die schiere Größe des 'McKinley' basiert jedoch nicht nur auf riesigen Caches.

Intels IA-64 will nicht so recht in Schwung kommen. Der sich nur schleppend verkaufende Itanium als erster Vertreter der neuen Linie bekommt folglich schon nach einem Jahr realer Marktpräsenz einen Nachfolger, der noch unter dem Codenamen McKinley firmiert.

Wie auch schon bei den stufenweisen Ankündigungen des Itanium gibt Intel die Details des McKinley scheibchenweise preis. Aktueller Anlass für neue McKinley-Infos: Die "International Solid-State Circuits Conference" (ISSCC) in San Francisco. Dort geht es in erster Linie um neue Schaltungstricks und Fortschritte in der Halbleiterfertigung.

McKinley ist dafür ein gutes Beispiel. Intel vereint zum ersten Mal in der Halbleitergeschichte 221 Millionen Transistoren auf einem Die, das bis zu 130 Watt Leistungsaufnahme haben wird. Andere 64-Bitter sind da deutlich weniger komplex. Suns UltraSparc III kommt nur auf 29 Millionen Transistoren. Selbst bei IBMs Multi-Chip-Modul Power4 hat ein einzelner CPU-Kern nur 171 Millionen Transistoren.

Ein Grund für McKinleys Größe ist die Integration des L3-Cache. Wo beim Itanium noch 4 MByte auf vier eigenen SRAM-Chips Platz finden mussten, hat Intel auf dem Die des McKinley 3 MByte L3-Cache integriert. Für diese Integration musste sich Intel eine neue Anordnung der Speicherzellen einfallen lassen.

L3-Cache in Subarrays

Wie dem folgenden Bild zu entnehmen ist, bildet der L3-Cache auf dem Die des McKinley keinen zusammenhängenden Block mehr, sondern ist rund um die Funktionseinheiten der CPU verteilt. Intel begründet das mit optimaler Ausnutzung des vorhandenen Platzes.

Zuerst hätte man die zusätzlichen Funktionseinheiten (siehe nächste Seite) platziert, und dann so viel L3-Cache untergebracht, wie noch möglich sei, ist aus Santa Clara zu hören. Die L-förmige Anordnung des Cache ist im Übrigen ein Trick, den schon IBM mit dem Power4 eingesetzt hat. Bei diesem Prozessor bestand das Problem, mehrere Dies über einen schnellen Bus zu verbinden. Für diesen dient der L2-Cache als Puffer.

Diese Cache-L hat Intel nun ebenfalls eingesetzt, wenn auch nicht für eine Chip-to-Chip-Verbindung: Einer der Schlüssel zu mehr Performance des McKinley ist ein neues Bus-Interface. Statt 64 Bit ist der Bus 128 Bit breit, und taktet mit effektiv 400 statt wie bei Itanium 266 MHz. Das ergibt eine maximale Bandbreite von 6,4 GByte/s gegenüber 2,1 GByte/s.

Damit diese Bandbreiten den Funktionseinheiten wirklich nutzen, hat Intel auch die anderen Caches aufgebohrt. 256 statt 96 KByte stehen jetzt für den L2-Cache bereit, der 64 GByte/s bewältigen soll. Der L1-Cache blieb zwar mit je 16 KByte für Daten und Befehle gegenüber dem Itanium gleich groß. Statt zwei Takte soll er aber nur noch über eine Latenz von einem Takt verfügen.

Intel verspricht sich davon weniger Arbeit für die Compiler: Da diese beispielsweise bei Load-Befehlen immer die Latenzen einkalkulieren müssen, fällt es schwer, optimal parallelen Code zu erzeugen. Wie diesem Artikel zu entnehmen ist, muss bei Intels EPIC getaufter CPU-Philosophie für die IA-64-Prozessoren der Compiler wesentlich aufwendiger optimierten Code liefern als bei den 32-Bit-CPUs.

Kürzere Pipe, mehr Rechenwerke

Die verringerten Latenzen zeugen von der Einsicht, dass Entwickler und Compiler-Bauer sich nur schwer auf die IA-64 umstellen. Daher hat Intel auch die Parallelisierung von Aufgaben in der McKinley-Architektur etwas modifiziert. Neben den drastisch erhöhten Bandbreiten soll das für mehr Performance sorgen.

Statt vier gibt es jetzt sechs Integer-Einheiten im McKinley. Der angepeilte Markt für große Server, die zum Beispiel mit riesigen Datenbanken hantieren, ist eben immer noch sehr Integer-lastig, hohe Gleitkomma-Leistung oder gar Multimedia-Befehle spielen hier nur eine untergeordnete Rolle. Deshalb hat Intel eine der SIMD-Einheiten eingespart.

Gegenüber der für EPIC oft kritisierten langen zehn Stufen wurde die Pipeline auf acht Stufen verkürzt. Zudem stehen nun zwei zusätzliche Ports zu den Registern zur Verfügung. Und statt zwei Load- oder Store-Befehlen kann McKinley nun zwei Loads und zwei Stores gleichzeitig ausführen.

Fazit

Intel verspricht mit dem McKinley bei einem GHz eine gegenüber Itanium mit 800 MHz verdoppelte Performance für 64-Bit-Code. Mehr Bandbreite, verringerte Latenzen und verlagerte Parallelität sind die Schlüssel dazu. Die Steigerung erscheint durchaus realistisch. Schon seit einem Jahr stehen erste Muster bei den Entwicklern, und Mitte 2002 soll ausgeliefert werden.

Ob sich McKinley-Systeme aber für die Server-Hersteller und deren Kunden auch rechnen werden, muss sich erst noch zeigen. Für Intel selbst wird die Aufzucht des "McMonster" aber in jedem Fall ein teures Vergnügen. Laut einer Meldung der "Computerwoche" glaubt Kevin Krewell vom Microprocessor Report, dass der 465 Quadratmillimeter große Chip allein in der Herstellung 300 Dollar kostet. Ein Pentium 4 sei schon für 50 Dollar zu fertigen, meint Krewell.

Von Intel war wenig später zu hören, derzeit sei das Die durch Optimierungen des Layouts immerhin noch auf 421 Quadratmillimeter verkleinert worden - dennoch bleibt McKinley damit ein riesiger Chip.

Dass Intel die hohen Kosten dafür in Kauf nimmt, liegt nicht zuletzt an AMD. Deren für Herbst erwarteter 64-Bitter Clawhammer arbeitet zwar mit einer gänzlich anderen Architektur, ist aber mit 104 Quadratmillimetern vergleichsweise winzig ausgefallen - und damit viel billiger herzustellen.

Wenn Intel aber seine IA-64 als Standard etablieren will, muss das mit McKinley unbedingt gelingen - Geld spielt dabei nur eine untergeordnete Rolle. Das gescheiterte Projekt "Rambus als Universal-Speicher" hat gezeigt, dass auch Intel nicht mehr über die Marktmacht verfügt, jede Technologie durchzudrücken. (nie)