Alle Details zum Hammer

11.09.2002 von Christian Vilsbeck
AMDs achte Prozessorgeneration 'Hammer' soll in der 32- und 64-Bit-Welt Maßstäbe setzen. Legenden und Gerüchte ranken sich um die CPU. Wir stellen Ihnen die Fakten zu den Interna der x86-64-Architektur im Detail vor.

AMD beschreitet mit der x86-64-Technologie neue Wege, ohne alte Pfade zu verlassen. Die Hammer-Prozessoren basieren nicht auf einer komplett neuen Architektur wie Intels 64-Bit-CPUs der Itanium-Serie. Vereinfacht ausgedrückt erweitert AMD beim Hammer die vorhandenen Register auf eine Breite von 64 Bit. Damit geht das Unternehmen den Weg, den Intel beim Übergang vom 286er zum 386er vollzogen hat. Seit den 80386-Prozessoren steht für Berechnungen beispielsweise statt des 16-Bit-AX-Registers auch das 32-Bit-EAX-Register zur Verfügung.

Durch die Erweiterung der vorhandenen IA-32-Technologie will AMD sicherstellen, dass die x86-64-CPUs sowohl mit einem 32- als auch 64-Bit-Betriebssystem den aktuellen 16- und 32-Bit-Code ohne Performance-Verlust ausführen können. Die IA-64-Architektur von Intels Itanium-Serie kann "alte" Anwendungen dagegen nur mit einer aufwendigen Hardware-Emulation abarbeiten: Dabei werden x86-Register auf die IA-64-Register abgebildet und über eine Kontrolllogik in einen IA-64-Datenstrom umgewandelt. Dieser Vorgang kostet Zeit und geht zu Lasten der Performance.

Bei AMDs x86-64-Architektur ist eine Emulation dagegen nicht erforderlich - die 64-Bit-Erweiterung wird bei 32-Bit-Software einfach nicht genutzt. Laut AMD soll der Hammer deshalb beim Betrieb mit 32-Bit-Software der bis dato schnellste x86-Prozessor werden.

Betriebsmodi des Hammer

Um problemlos mit 32- und 64-Bit-Software agieren zu können, beherrschen die Hammer-Prozessoren verschiedene Betriebsmodi:

Findet der Hammer aktuelle Betriebssysteme wie Windows XP mit 32-Bit-Kernel vor, so arbeitet die CPU im so genannten Legacy-Mode. Der Hammer verhält sich dabei wie ein normaler x86-Prozessor und ist voll kompatibel zu vorhandenen 16- und 32-Bit-Betriebssystemen und -Anwendungen. Die 64-Bit-Features der x86-64-Architektur liegen dann brach.

Steht dem Hammer dagegen ein 64-Bit-Betriebssystem zur Seite, schaltet die CPU in den Long Mode getauften Betriebsmodus. Der Long Mode der x86-64-Technologie beinhaltet zwei Untermodi: den 64-Bit-Mode und einen Compatibility Mode. 64-Bit-Anwendungen arbeiten im entsprechenden 64-Bit-Mode. Den Programmen steht somit auch der volle Adressraum mit einer Breite von 64 Bit zur Verfügung. Der Compatibility Mode der x86-64-Architektur erlaubt unter 64-Bit-Betriebssystemen eine binäre Kompatibilität mit vorhandenen 16- und 32-Bit-Anwendungen. Die Programme müssen nicht neu kompiliert werden. Den 64 Bit großen Adressraum des Betriebssystems können diese aber nicht nutzen, sie bleiben auf 4 GByte beschränkt.

Globales Kontrollbit

In welchem Betriebsmodus sich die Hammer-CPU befindet, wird über das globale Kontrollbit LMA (Long Mode Active) sowie über zwei weitere Flags angezeigt. Steht das LMA-Bit auf 0, verhält sich die Hammer-CPU wie ein normaler x86-Prozessor. Arbeitet der Prozessor im 64-Bit-Long-Mode, ist das Read-only-Bit LMA auf 1 gesetzt.

Um den Long Mode des Hammer zu aktivieren, muss das Betriebssystem das LME-Bit (Long Mode Enable) aus dem Extended Feature Enable Register EFER aktivieren. Hierzu sind von der Software folgende Schritte durchzuführen:

Die CPU befindet sich nun im 64 Bit breiten Long Mode und kann je nach Applikation in seinen zwei Untermodi operieren. Die beiden CPU-Zustände 64-Bit- und Compatibility Mode werden über zwei weitere Flags gewählt: Der CS-Descriptor legt fest, ob Anwendungen in der 64-Bit-Umgebung im Compatibility Mode mit 16 oder 32 Bit laufen oder den 64-Bit-Mode nutzen.

Neue Register

Wenn der Hammer im 64-Bit-Mode arbeitet, stehen dem Prozessor im Vergleich zum Legacy Mode folgende zusätzliche Features zur Verfügung:

Den 64 Bit breiten Adressraum sieht die x86-64-Architektur nur über eine segmentierte Adressierung vor. Die physikalische Adressbreite ist auf 52 Bit beschränkt. In der ersten Generation der Hammer-Familie implementiert AMD aber nur einen 48 Bit breiten virtuellen Adressraum - die physikalische Adressbreite ist auf 40 Bit beschränkt. Die ersten Hammer haben auf ein TByte Arbeitsspeicher Zugriff.

Anwendungen, die im Legacy oder Compatibility Mode laufen, stehen beim Hammer weiterhin nur die acht allgemeinen 32 Bit breiten Register EAX, EBX, ECX, EDX, EBP, ESI, EDI und ESP zur Verfügung. Arbeitet der Prozessor dagegen im 64-Bit-Mode, erweitert die x86-64-Architektur diese acht Register über den R-Präfix auf 64 Bit. Die verbreiterten Register erhalten die Bezeichnungen RAX bis RSP. Zusätzlich kann der Hammer im 64-Bit-Mode auf acht neue ebenfalls 64 Bit breite GPRs (General Purpose Register) R8 bis R15 zugreifen.

Für Fließkomma-Berechnungen wurden außerdem die acht 128 Bit breiten SSE-Register mit XMM8 bis XMM15 verdoppelt. Davon profitiert allerdings nur der 64-Bit-Mode. Die Kompatibilität zu Intels SSE2-Befehlssatz erlauben aber alle Betriebsmodi. AMD setzt beim Hammer erstmals die Multimedia-Erweiterung des Pentium 4 ein, der nur über acht XMM-Register verfügt.

Details zum Core

Die Hammer-Prozessoren basieren auf einem Core der achten Generation. AMD führt damit seit dem K7-Core des Athlon (aktuell als Thoroughbred) erstmals wieder eine neue Architektur ein. Allerdings stecken die Neuerungen im Detail, das Grundgerüst sieht dem Athlon-Flurplan immer noch ähnlich. Die offensichtlichste Innovation ist der im Prozessor implementierte Speicher-Controller.

Die komplette x86-64-Architektur lässt sich in fünf Funktionsblöcke aufteilen: Prozessor-Core, L1-Daten- und Befehls-Cache, L2-Cache, DDR-SDRAM-Controller sowie das HyperTransport-Interface. AMDs Hammer ist je nach Ausführung multiprozessorfähig und verfügt über eine entsprechende Controller-Logik. So erlaubt die Serverversion des Hammer mit dem bereits veröffentlichten Namen Opteron 8-Wege-Systeme. Die Desktop-Variante mit dem Codenamen ClawHammer arbeitet dagegen nur im Single-Betrieb.

Neun Ausführungseinheiten

Der Hammer-Core bietet neun Ausführungseinheiten für Integer- und Floating-Point-Operationen. Darin ist erstmals bei AMD-Prozessoren eine SSE2-kompatible Einheit enthalten. Gefüttert werden die Ausführungseinheiten nach dem Out-of-Order-Prinzip über drei unabhängige Befehls-Decoder-Pipes, die in den Schedulern enden. Drei davon können je acht Einträge puffern und bedienen die sechs Integer-Units. Diese bestehen aus drei ALUs und den drei Address Generation Units (AGU), die für die Load-/Store-Vorgänge vom und zum Cache verantwortlich zeichnen. Die drei FPU-Einheiten versorgt schließlich ein 36 Einträge fassender vierter Scheduler.

AMD hat somit beim Hammer die Anzahl der Ausführungseinheiten gegenüber dem K7-Core des Athlon nicht erhöht. Das Hauptproblem bei modernen CPU-Architekturen mit vielen Ausführungseinheiten ist, diese mit einer hohen Auslastung zu betreiben und mit genügend Daten zu füttern. Demnach ist selbst beim Athlon die Auslastung der Units längst nicht ausgereizt. Intels Idee, die Ausführungseinheiten zu beschäftigen, heißt HyperThreading. Hier wird eine CPU wie zwei Prozessoren behandelt, und entsprechend werden zwei Threads parallel abgearbeitet. Dadurch sind die Ausführungseinheiten besser ausgelastet - eine angepasste Programmierung der Anwendungen vorausgesetzt.

Cache- und TLB-Tuning

Da AMD beim Hammer aber auch von der schnellsten x86-kompatiblen Architektur spricht, muss die höhere Performance anderen Quellen als einer erhöhten Unit-Zahl entspringen. Eine Möglichkeit wäre die Vergrößerung der Caches. Diese nutzt AMD aber nicht. Für den L1-Cache gibt der Hersteller eine Größe von je 64 KByte für Befehle und Daten an - unverändert zum Athlon. Der 16fach assoziative L2-Cache wird im ClawHammer 256 oder 512 KByte fassen. Der von uns bereits getestete Prototyp eines ClawHammer besaß 256 KByte L2-Cache. Die Athlon XPs setzen derzeit ebenfalls auf 256 KByte. In AMDs Roadmap findet sich bis Ende 2002 noch der Wechsel des Athlon zum Barton-Core mit dann 512 KByte L2-Cache. Einzig der Serverprozessor Opteron bekommt mit ein oder zwei MByte L2-Cache ein deutlich erhöhtes Fassungsvermögen. Eine ECC-Überwachung der ersten und zweiten Cache-Stufe bieten alle Hammer-Varianten.

Weitaus tief schürfender sind beim Hammer die Änderungen, die schon im Vorfeld der Befehlsabarbeitung erfolgen. So hat AMD die TLBs einer Überarbeitung unterzogen. Je mehr Einträge der TLB fassen kann, desto seltener muss bei der Berechnung der physikalischen Adresse die Translation-Tabelle aus dem Arbeitsspeicher geladen werden. Dies spart Zeit, und bestimmte Befehle erfordern somit weniger Taktzyklen. Der L1-Daten- und Befehls-TLB des Hammer fasst je 40 Einträge und ist voll assoziativ ausgelegt. Beim Athlon XP kann nur der L1-Daten-TLB gleich viele Einträge speichern, für Befehle stehen lediglich 25 Einträge bereit. Die 4fach-assoziativen L2-TLBs können mit je 512 Einträgen beim Hammer doppelt so viel aufnehmen wie noch beim Athlon XP. Außerdem weisen die TLBs beim Hammer geringere Latenzzeiten auf als im K7-Core.

Flush- und Sprung-Tuning

Zusätzlich zu den größeren TLBs verfügt die x86-64-Architektur über einen 32 Einträge fassenden Flush-Filter. Dies erlaubt ein besseres Management der TLBs bei Task-Wechseln. Mehrere Threads können sich durch den Flush-Filter nun einen TLB teilen, ohne dass die Software dabei Einfluss nehmen muss. Normalerweise setzt der Prozessor bei Task-Wechseln jedes Mal die TLBs neu und stellt sie später wieder her - das kostet Rechenzeit.

Die Sprungvorhersage hat AMD beim Hammer ebenfalls verbessert. Besonders bei Anwendungen mit großem Speicherbedarf - den so genannten Large Workloads - soll der Prozessor eine höhere Performance bieten. Hierzu wurde der Global History Counter auf 16 K Einträge aufgestockt - gegenüber dem K7-Core des Athlon eine Vervierfachung. Eine bessere Sprungvorhersage braucht der Hammer-Core auch, denn er hat an Pipeline-Stufen zugelegt. Die Gefahr langer Pipelines sind falsche Sprungvorhersagen. Im ungünstigsten Fall muss die komplette Pipeline, also alle Funktionseinheiten, neu geladen werden. Dies kostet viele Takte und reduziert die Performance. Effektive "Branch Predictions" zählen bei modernen CPUs zu zentralen Performance-Bringern.

Gestreckte Pipeline

Die Pipeline einer CPU zu verlängern, ist ein beliebtes Mittel zur Realisierung höherer Taktfrequenzen. Intel verdoppelte beim Schritt vom Pentium III zum Pentium 4 die Tiefe der Pipeline auf 20 Stufen. So extrem ging AMD nicht vor: Von vormals 10 Stufen beim Athlon kann der Hammer nun auf eine 12-stufige Pipeline bei Integer-Operationen zurückgreifen. Sind Fließkommaberechnungen in Arbeit, benötigt die x86-84-Architektur 17 Stufen.

Die 20 Prozent tiefere Pipeline des Hammer findet sich im Frontend wieder. AMD hat im Vergleich zum Athlon die Befehlshol- und Dekodierphase überarbeitet. Ziel der optimierten "Vorbereitungsphase" ist es, die Scheduler und somit die Ausführungseinheiten mit schneller aufeinander folgenden dekodierten Befehlen zu versorgen. Das soll unnötige Waitstates sowie unausgelastete Ausführungseinheiten reduzieren.

Die Optimierung beginnt beim Hammer bereits mit zwei statt nur einer Fetch-Stufe, die die x86-Befehle aus dem L1-Cache holen. Die folgende Pick-Stufe bereitet die Befehle dann für die ersten beiden von insgesamt drei Dekodierstufen auf. Ähnlich der Align-Stufe beim Athlon versucht der Hammer beim Pick-Vorgang so viele unabhängige Befehle wie möglich zu finden und vorsortiert an die Ausführungseinheiten zu senden. In den Dekodierstufen 1 und 2 sammelt die CPU Informationen, die für den weiteren Dekodiervorgang benötigt werden - beispielsweise direkter oder vektorbasierender Dekodierpfad. Für Letzteren ist zusätzlich Microcode aus dem Microcode-ROM (MROM) erforderlich. Die beiden Stufen sind mit der Early-Decode-Phase des Athlon vergleichbar.

Vor dem dritten Dekodierschritt bereitet eine Pack-Stufe die vorberechneten Informationen nochmals auf. Dann erfolgt die Umwandlung in MacroOPs. Die Scheduler verteilen schließlich die MacroOPs auf die Ausführungseinheiten. Die Daten landen in den letzten beiden Stufen 11 und 12 der Basis-Pipeline im L1-Daten-Cache.

Speicher-Interface integriert

Zu den echten Neuerungen des Hammer zählt neben der Registererweiterung auf 64 Bit der integrierte Memory-Controller. Der Vorteil der Integration liegt in den deutlich reduzierten Latenzzeiten bei Zugriffen auf den Speicher. Den Umweg über eine "klassische" externe Northbridge umgeht der Prozessor. Eine geringe Latenzzeit ist vor allem dann wichtig, wenn der Speicherzugriff meist auf verteilt liegenden Stellen erfolgt. Hier ist die reine Speicherbandbreite oft gar nicht der entscheidende Faktor. Anders hingegen, wenn die Daten zusammenhängend im Speicher liegen und die CPU im Burst-Modus große Mengen ausliest - hier zählt die Bandbreite.

AMD berücksichtigt mit dem Hammer beide Fälle. Neben der geringen Latenzzeit unterstützt der integrierte Memory-Controller DDR-SDRAM in den Varianten PC200, PC266 und PC333. Der Desktop-Variante ClawHammer spendiert AMD ein 72 Bit breites Speicher-Interface. Damit lassen sich bis zu vier GByte DDR-SDRAM inklusive Chipkill-ECC-Prüfung verwalten. Im Serverprozessor Opteron sind zwei 72 Bit breite DDR-SDRAM-Kanäle realisiert. Mit insgesamt acht DIMMs (vier pro Kanal) lassen sich dann pro CPU acht GByte Speicher ansprechen. Die Speichermodule können dabei ungepuffert oder registered sein.

Skalierung der Speicherbandbreite

Mit PC333-DDR-SDRAM erreicht der ClawHammer eine maximale Speicherbandbreite von 2,48 GByte/s. Der Opteron mit seinem Dual-Channel-Interface ermöglicht 4,96 GByte/s. Durch den integrierten Memory-Controller steigt in Multiprozessor-Systemen auch der maximale Speicherausbau, weil jede CPU einen eigenen lokalen Speicher ansteuert. Untereinander tauschen die CPUs Daten via HyperTransport aus. Dabei skaliert die Speicherbandbreite mit der Anzahl der Prozessoren. In einem 4-Wege-System stünde dann unter Verwendung von PC333-DIMMs eine Bandbreite von 19,8 GByte/s zur Verfügung, so AMD. Es gibt jedoch zusätzliche Latenzzeiten, wenn beispielsweise die CPU 1 via HyperTransport-Verbindung auf den Speicher der CPU 2 zugreift. Die Skalierung der Speicherbandbreite bleibt in der Praxis eher Theorie.

Der in den Hammer-CPUs integrierte Memory-Controller kostet aber auch Flexibilität. Denn mit neuen Speichertechnologien wie DDR-II kann der Prozessor nichts anfangen. Allerdings soll eine neue Version des Hammer mit dem Nachfolger von DDR-SDRAM zurechtkommen. Das bestätigte auch AMD-Sprecher Jan Gütter gegenüber tecCHANNEL: "Wir rechnen damit, dass sich DDR-II 2004 im Mainstream etablieren wird". Für dann sei auch ein neuer Hammer geplant, meinte Gütter weiter.

Eine weitere Alternative, anderen Speicher zu nutzen, wäre, den integrierten Memory-Controller des Hammer nicht zu verwenden. Stattdessen ließe sich auch ein "klassischer" Memory-Controller in einer Northbridge realisieren. Entsprechende Lösungen sind von taiwanischen Chipsatz-Herstellern schon angedacht. Besonders wenn in der Northbridge eine Grafik-Engine integriert ist, lässt sich beim Speicherzugriff der Umweg über die CPU vermeiden.

Neues I/O-Konzept

Neuland betritt AMD beim Prozessorbus. Statt des üblichen parallelen FSB kommuniziert die CPU über eine HyperTransport-Schnittstelle. Das serielle Interface mit variabler Bitbreite ermöglicht beim ClawHammer eine Datentransferrate von 2,98 GByte/s - in jede Richtung gleichzeitig. Damit ergibt sich eine Gesamtbandbreite von 5,96 GByte/s. Zum Vergleich: Der Pentium 4 mit 533 MHz FSB erlaubt einen maximalen Datendurchsatz von 3,97 GByte/s - aber nicht in beiden Richtungen gleichzeitig.

Dem Serverprozessor Opteron spendiert AMD gleich drei HyperTransport-Schnittstellen. In Multiprozessorsystemen koppelt HyperTransport die CPUs direkt miteinander. Ohne zusätzlichen Chipsatz lassen sich damit bis zu acht Opterons zusammenschalten. AMD nennt dieses Verfahren "Glueless Multiprocessing".

Über das HyperTransport-Interface läuft der gesamte Datenverkehr der Hammer-Prozessoren und des integrierten Memory Controller. Um beispielsweise AGP-Grafikkarten oder einer benachbarten CPU einen direkten Zugriff auf den Arbeitsspeicher zu gewähren, besitzt der Hammer eine Schaltzentrale XBAR. Diese Cross-Bar-Architektur leitet Datenströme vom HyperTransport-Interface (oder deren drei beim Opteron) über 64 Bit breite interne Busse direkt an die System Request Queue des Hammer-Core oder an den Memory Controller weiter. Für Befehle und Adressen stehen der XBAR zusätzlich 64 Bit breite Busse zur Verfügung.

Eine Frage des Takts

Revolutionäre Änderungen in der Befehlsabarbeitung kann die Hammer-Architektur im Vergleich zum Athlon nicht bieten. Sie wurde vielmehr mit Hinblick auf höhere Taktfrequenzen optimiert. Die zusätzlichen Fetch- und Decode-Stufen dienen also nicht nur der besseren Befehlsaufbereitung. Die längere Pipeline soll zusammen mit dem Fertigungsprozess der ersten Hammer in 0,13 µm mit SOI-Technik Raum für höhere Frequenzen schaffen.

Mit Angaben zur Taktfrequenz der 64-Bit-CPU hält sich AMD noch bedeckt. Doch Informationen aus verschiedenen Quellen weisen deutlich auf eine Startfrequenz von 2 GHz hin. Klarere Aussagen gibt es von AMD zur Model-Number des ClawHammer: Die Zahl 3400 ist im Gespräch. Allerdings wird AMD wohl sein System der Model-Number überarbeiten müssen.

Im Internet tauchen vermehrt Roadmaps von AMD auf, in denen der ClawHammer als Athlon ?? M3400 steht. Der Name Athlon bleibt erhalten, über die beiden Fragezeichen darf aber noch spekuliert werden: Athlon XL oder Athlon 64?

Mit den realen Taktfrequenzen des Pentium 4 wird auch der Hammer nicht Schritt halten können. Ob AMDs Übergang auf 0,09-µm-SOI-Technik in der zweiten Jahreshälfte 2003 daran etwas ändert, bleibt zu bezweifeln. Schließlich schwenkt auch Intel beim nächsten Pentium 4 (Codename Prescott) in dieser Zeit auf 0,09 µm um. Und bis Ende 2002 soll der Pentium 4 bereits 3 GHz erreichen - noch in 0,13-µm-Technik.

Sockelwechsel

Lange hat er nun gehalten, der 462 Pins zählende Socket A. Seit Anfang 2000 nehmen alle AMD-Prozessoren darin Platz. Doch mit Einführung der Hammer-Prozessoren Ende 2002 sind die Tage des Socket A gezählt. Zwar laufen die Athlons (mit Barton-Core) beim Hammer-Start parallel weiter, wie lange jedoch, steht noch nicht fest. Dem ClawHammer spendiert AMD den neuen Socket 754, der Serverversion Opteron einen Socket 940. Die Namen beider Sockel basieren auf der Anzahl der Pins der Hammer-Prozessoren.

Die unterschiedliche Pinanzahl der beiden CPUs ist schnell erklärt: Der Opteron weist einen Speicherkanal sowie zwei HyperTransport-Schnittstellen zusätzlich auf, für die er 186 Pins benötigt. Die Fertigung in einem mPGA-Gehäuse ist allen Hammer-Prozessoren gemein.

Die neuen Sockel für die Hammer-Familie sind auch technisch durch die höheren Frequenzen erforderlich. AMDs Socket A verkraftet FSB-Taktfrequenzen bis 400 MHz. Beim HyperTransport-Interface des Hammer treten aber Frequenzen von 1600 MHz auf, die ein neues Sockel-Design erfordern.

Fazit

Der größte Vorteil der Hammer-Prozessoren für einen erfolgreichen Start - gerade auch im Business-Umfeld - ist die Kompatibilität zu vorhandener Software. So gehen Investitionen nicht verloren. Die Migration zu 64-Bit-Applikationen kann langsam und nach Bedarf erfolgen.

Die x86-64-Architektur läuft in beiden Welten und laut AMD selbst mit 32-Bit-Betriebssystemen schneller als die Konkurrenz. Unsere ersten exklusiven Benchmarks eines ClawHammer-Prototypen mit 800 MHz Taktfrquenz können diese Aussage zumindest nicht entkräften. Die hohe gemessene Speicher-Performance lässt für die ersten Hammer-Systeme zum Jahreswechsel einiges erwarten.

Und das Neues nicht komplett neu sein muss, kann AMD ebenfalls zeigen. Der Core des Hammer unterscheidet sich von den Athlon-Prozessoren nur in Feinheiten - abgesehen vom integrierten Memory Controller und dem HyperTransport-Interface. AMD hat bei der x86-64-Architektur an entscheidenden Stellen gefeilt, um die Performance zu steigern und den Weg für höhere Taktfrequenzen zu ebnen. Von einer radikal neuen Architektur wie Intels NetBurst beim Pentium 4 hat AMD abgesehen. Intel hatte sodann auch mit Erklärungsnöten für die anfangs schwache Performance zu kämpfen.

Die massive Unterstützung seitens der Hardware-Hersteller sollte den Hammer-Prozessoren beim Start helfen. Und mit der x86-64-Architektur folgt AMD erstmals nicht der Intel-Linie im PC-Bereich. 2003 wird ein spannendes Prozessorjahr. Auch weil Intel zur Jahresmitte den Pentium-4-Nachfolger Prescott ins Rennen schickt. Vielleicht mit der geheimnisumwitterten 64-Bit-Technologie Yamhill? Sie ist Intels Alternative zur 64-Bit-Architektur der Itanium-Prozessoren. (cvi)