20 Jahre 64-Bit-CPUs von AMD: Der "Sledgehammer"-Opteron zündete x86-64

Alle aktuellen x86-Prozessoren sind 64-Bit-tauglich. Bis zum 22.4.2003 gab es jedoch nur welche mit 32 Bit. Dann brachte AMD den Opteron mit AMD64 alias x86-64.

In Pocket speichern vorlesen Druckansicht 90 Kommentare lesen
Serverprozessoren vom Typ AMD Opteron

Serverprozessoren vom Typ AMD Opteron

(Bild: c’t Magazin)

Lesezeit: 12 Min.
Von
  • Andreas Stiller
Inhaltsverzeichnis

Am 22. April 2003 war es soweit. Um 9.30 Uhr Ortszeit in New York stieg die Party mit vielen Gästen, live übertragen per Videostream: die offizielle Markteinführung des lang erwarteten 64-Bit-Prozessors „Slegehammer“ (Vorschlaghammer) unter dem Handelsnamen Opteron.

Erst tags zuvor hatte sich IBM als bedeutender Launch-Partner geoutet. Seinerzeit war offen, was heute völlig klar ist: Ob sich die Befehlssatzarchitektur (ISA) x86-64 alias AMD64 durchsetzen wird. Denn Intel hatte eigentlich ganz andere Pläne. Auch wenn sich x86-64 offensichtlich durchgesetzt hat: Der erste AMD64-Chip, der Opteron für Server, erlebte ein wechselhaftes Schicksal mit steilem Aufstieg und jähem Absturz.

Die prinzipielle Architektur hatte AMDs Chief Technology Officer (CTO) Fred Weber mehr als drei Jahre zuvor auf dem Microprozessor Forum 1999 in San José vorgestellt. Den Beitrag hatte AMD getarnt unter „An Athlon-Family Processor for Workstations and Servers“ angekündigt.

Die Ankündigung des Vortrags von AMD-CTO Fred Weber auf dem Microprocessor Forum 1999

(Bild: Screenshot)

Man konnte dort im Fairmont-Hotel die Schockwellen, die seine Präsentation auf die anwesenden „Intelianer“ auslöste, geradezu mit Händen greifen, denn davon träumten diese selber: ein Prozessor mit integrierter Northbridge (Speichercontroller), einem schnellen Interprozessor-Bus namens Lightning Data Transport (LDT) mit 6,4 Gbit/s, eine komplett neue, leistungsfähige Gleitkommaeinheit (FPU) namens Technical Floating Point (TFP) mit 32 Registern und insbesondere die ausgebuffte 64-Bit-Lösung x86-64. Denn letztere war eine sehr geschickte, abwärtskompatible Erweiterung der etablierten 32-Bit-x86-Architektur, die nur wenig mehr Chipfläche benötigte.

Mit x86-64 lief bestehender 32-bittiger x86-Binärcode mit voller Performance, zusätzlich beschleunigt von den deutlich kürzeren Latenzen des integrierten Speichercontrollers. Das war bei Intels 64-Bit-Itanium-Architektur (IA-64) völlig anders, deren erste Inkarnation „Merced“ sich mit einer mehr als unterirdischen Performance seiner 32-Bit-Emulation geradezu lächerlich machte.

AMD Opteron 144 für den Socket 939/940

(Bild: c't)

Wie sich später zeigte, kamen bei IA-64 erhebliche Programmierprobleme mit dem Explicit Parallel Instruction Computing (EPIC) der Itanium-Linie hinzu, das mit seinen vielen spekulativen Befehlsausführungen auch recht viel Energie fraß. Von dieser Blamage hat sich der Itanium später nie wirklich erholt. Man kann sich die Freude der AMD-Zen-Entwickler viele Jahre später vorstellen, als sie ihre Architektur „Epyc“ tauften ...

Zwei Jahre später auf dem Microprocessor Forum im November 2001 wiederholte sich das Spiel am selben Ort. Wieder war es Fred Weber, der Intel schockte, diesmal mit beeindruckenden Performancewerten von SPEC CPU2000. Außerdem gab er ein paar Änderungen bekannt: Lightning Data Transport hieß nun Hypertransport und TFP war zwischenzeitlich gestrichen worden. AMD und Intel hatten sich nämlich 2001 auf ein Patentaustauschabkommen geeinigt, AMD konnte Intels SSE2 (samt Nachfolger) übernehmen und im Gegenzug bekam Intel das Recht, AMDs x86-64 zu nutzen.

Nicht Fisch und nicht Fleisch, so stufte Intels damaliger Chef-Technologe und heutiger Firmenchef Pat Gelsinger die von AMD vor nunmehr 20 Jahren neu eingeführte 64-Bit-Prozessorgeneration „Hammer“ alias K8 ein.

Aber es sollte sich zeigen: Gegenüber AMDs Hammer waren vielmehr Intels eigene Prozessorgenerationen Pentium 4 und Itanium zukunftslos, also weder Fisch noch Fleisch. Das wusste Gelsinger auch damals schon, aber er musste sich firmenloyal verhalten. Prozessoren wie der Pentium 4 mit seiner Roadmap bis zu 10 GHz und mehr liefen gegen die Energiewand, mit Energiedichten von Raketentriebwerken bis hin zu Kernkraftwerken – das prangerte er bereits in seiner berühmt gewordenen Präsentation auf der ISSCC im Jahre 2001 an.

Und dass er kein großer Freund des Itanium war, galt Insidern als offenes Geheimnis. Stattdessen hatte er mit dafür gesorgt, dass bei Intel unter dem Codenamen Yamhill eine durchaus ähnliche Erweiterung wie AMDs x86-64 entwickelt wurde. Die war undokumentiert schon im ersten Pentium 4 (Willamette) eingebaut, aber damals in der Intel-Chefetage nicht willkommen.

CPU-Die des AMD Sledgehammer alias Opteron 200.

(Bild: AMD)

Microsoft entwickelte intensiv für AMDs Version und zeigte sich unwillig, eine zweite 64-Bit-Variante für x86 zu unterstützen. Der Itanium dümpelte so vor sich hin und so überzeugte Gelsinger schließlich auch Firmenchef Barrett, via Patentaustauschabkommen mit AMD halbwegs gesichtswahrend auf AMDs x86-64 zu setzen, immerhin war dann ja mit SSE2/3 ein bisschen Intel mit drin.

Unter dem Codenamen Clackamas wurde die Erweiterung in den Nocona-Prozessor – noch mit Pentium-4-Netburst – eingebaut und dann im Juni 2004 auf den Markt gebracht. Unter dem offiziellen Namen EM64T war diese bis auf Kleinigkeiten kompatibel zu AMDs x86-64.

Der Umstieg auf SSE2/3 hat sicherlich den Zeitplan bei AMD ein wenig nach hinten geschoben, und so dauerte es doch noch eineinhalb Jahre nach Webers Ankündigung, bis man die Markteinführung endlich feiern konnte.

Lead Architect James B. (Jim) Keller war da schon längst nicht mehr an Bord. Ihn hatte der von DEC gekommene Athlon-Entwickler Derrick R. (Dirk) Meyer 1998 von DEC abgeworben – beide hatten dort am Alpha 21164 und 21264 gearbeitet. Keller verließ AMD aber bereits nach eineinhalb Jahren, legte dennoch in der kurzen Zeit mit über 40 Patenten viele Grundlagen für das Design.

Die Leitung des Projekts als Group Vice President der Computation Products Group hatte Dirk Meyer inne, kräftig unterstützt von CTO Fred Weber. Meyer sollte viele Jahre später (2008) auch AMD-Chef werden.

Vor allem aber war Kevin McGrath der „Mr. Opteron“, der für den Prozessor und den 64-Bit-Befehlssatz als „Principal Researcher“ und Senior Fellow verantwortlich war. Wie Fred Weber kam McGrath Mitte der 90er-Jahre nach dem Zukauf der Firma Nextgen zu AMD und wie Keller steht sein Name in über 40 Patenten in jener Zeit. Doch anders als Keller blieb er wie auch Dirk Meyer bis zum Ende der Opteron-Ära 2011 bei der Firma. Sein Nachfolger war 2012 – wieder Jim Keller, der bis 2015 die Grundlagen der heute sehr erfolgreichen Zen-Architektur legte.

Server mit zwei AMD Opteron 200 der Firma Newisys.

(Bild: c't)

Im April 2003 kamen die ersten Opteron-Systeme für zwei Prozessoren (2xx) heraus, später dann die für bis zu acht Prozessoren (8xx). Im Herbst folgten zudem die ersten 64-bittigen Desktop-Prozessoren Athlon 64 (Clawhammer). Es sollte zwar noch eine Zeit lang dauern, bis 64 Bit auf dem Desktop tatsächlich vernünftig genutzt werden konnte – Windows XP 64-Bit etwa kam am 25. April 2005, aber immerhin brachten bereits die größeren Caches und der integrierte Speichercontroller Vorteile.

Kleiner Spaß am Rande: Im Frühjahr 2002 führte AMD parallel zu Intels IDF die angereisten Journalisten den Clawhammer vor und zwar auf einem Board mit Namen Solo, ein Name, den man ja auch musikalisch interpretieren kann. Und so hatte AMD als Gag dort die Noten des Intel-Jingles (dam, da di da da) aufgedruckt, wenn auch transponiert – vielleicht, weil der Jingle eine eingetragene sogenannte „Hörmarke“ ist.

Anders als sein Nachfolger AMD Epyc lief der Opteron auch im Quartett.

(Bild: c't)

64-Bit-Betriebssysteme für Server waren beim Launch zumindest in Beta-Version vorhanden (Win Server 2003, final erst im Herbst 2004). Linux hatte bereits 2001 die 64-bittige Kernelversion 2.4.14 herausgebracht. Allerdings brauchte Linux dann eine längere Zeit, um wirklich vernünftig mit der Speicherarchitektur von Mehrprozessorsystemen (NUMA) umgehen zu können. Da war Microsoft mit NUMA-Unterstützung etwas schneller. Dafür hat Linux mit vielen Kernen kein Problem, bei Windows Server wird's bei mehr als 64 Kernen etwas umständlich.

Apple stieg im Sommer 2005 auf x86-64-Chips (von Intel) um. Aber mit NUMA konnten Mac OS sowie das inzwischen eingestellte Betriebssystem Mac OS X Server für Xserve und Mac Pro nie was anfangen, so beschränkte man sich bei Apple schließlich einfach auf Einprozessorsysteme. Und die derzeit erwartete neue Mac-Pro-Generation 2023 mit M2-Ultra dürfte das wohl auch nicht ändern.

Es dauerte natürlich ein bisschen, bis AMD die Server-Szene für den Opteron gewinnen konnte. Ein paar 32-Bit-Athlon-Systeme hatten es zuvor bereits geschafft, in die Top500 der Supercomputer einzuziehen – vorneweg ein Rechner von Megware an der Uni Heidelberg. Im Sommer 2004 waren dann aber bereits 30 Opteron-Rechner im Top500-Oberhaus der Server-Szene.

Der damalige AMD-CEO Hector Ruiz 2005 an der Gitarre.

(Bild: Andreas Stiller)

Im August 2005 legte AMD mit Dual-Core-Opterons nach, mit SSE3 aus der 90-Nanometer-Fertigung. Auch dafür gabs ein großes Fest in New York, wo Firmenchef Hector Ruiz eigenhändig (und gar nicht mal so schlecht) Gitarre spielte. Im Herbst 2006 waren bereits 113 Opteron-Systeme in der Top500-Liste, darunter auf Platz 2 der Red Storm von Cray am Sandia National Lab. Im Jahr darauf kam in Oak Ridge ein noch schnelleres Cray-System hinzu.

Dann aber haperte es mit dem Nachschub, der Opteron Barcelona K10 ließ wegen Fertigungsproblemen lange auf sich warten. Und schlimmer noch, bei den Linpack-Läufen des Rangers am Texas Advanced Computing Centre (TACC) offenbarte sich im Sommer 2008 ein dicker Bug im Translation Lookaside Buffer (TLB). Der ließ sich zwar mit einem Software-Workaround umgehen, allerdings mit etwas Performanceverlust. Dennoch schaffte es der Ranger mit "Barcelona"-CPUs und 433 TFlops auf Platz zwei und dann im Sommer 2010 in Oak Ridge mit 1,76 PFlops gar auf Platz eins.

Nichtsdestotrotz, das Vertrauen in den Opteron war lädiert, auch wenn relativ fix fehlerbereinigte Prozessoren herauskamen. Intel nutzte das aus, brachte mit Sandy Bridge neue, sehr leistungsfähige Prozessoren mit AVX – und gab zudem kräftig Rabatte. Da waren zu dem Zeitpunkt im Sommer 2010 nur noch 47 Opteron Systeme in der Top500-Liste.

Der ebenfalls unter Opteron vermarktete Nachfolger der Hammer-Architektur, der Bulldozer, konnte mit seiner eigenartigen Architektur nicht wirklich überzeugen. Hier teilten sich zwei Kerne eine Gleitkommaeinheit (FPU). AMD musste später sogar den Käufern Schadenersatz zahlen, weil man mit acht Kernen geworben hatte. Das Gericht folge der Argumentation der Kläger, dass das mit der geteilten FPU ja so nicht stimmt. Und so sanken die Verkäufe in den Folgejahren.

AMD Opteron "Interlagos" mit Bulldozer-Kernen.

(Bild: c't)

Den Tiefstand erreichte man im Sommer 2019 mit gerade mal zwei „Restsystemen“ in der Top500-Liste. Aber dann kam wie Phoenix aus der Asche die neue Zen-Architektur Epyc, die wiederum von Phoenix Jim Keller gestaltet wurde. Schwuppdiwupp ist man jetzt wieder bei 101 Systemen in der Liste, Tendenz weiter steigend. Und auf Platz 1 thront der erste westliche Exaflops-Rechner Frontier, mal wieder am Oak Ridge National Lab.

Unter Opteron wurde auch noch recht glücklos versucht, andere Prozessoren zu vermarkten, etwa für Micro-Server mit den Jaguar-Kernen oder mit ARM-Kernen.

Mit den Opteronen ging's also rauf und runter. Die von AMD entwickelte ISA x86-64 musste indes bislang keine Krisen durchstehen. 96 Prozent der Systeme in der aktuellen Top500-Liste und vermutlich auch in der Serverwelt insgesamt arbeiten damit. Die Erfolge von IBM Power und ARM, der in Form des Fujitsu-Prozessors A64FX eine Zeit lang die Top500-Liste anführte, halten sich bislang ziemlich in Grenzen.

Vielleicht kann Apple mit M2/M3 ja noch was bewegen, vielleicht kommen auch neue Mitspieler hinzu, etwa der Euro-Prozessor mit RISC-V. Vielleicht gibt es ja auch Neulinge mit x86-64 – die oben erwähnten Patente von Keller, McGrath und anderen Opteron-Architekten sind nämlich praktischerweise derweil ausgelaufen.

(ciw)