AM3+

Die Bulldozer-Bibel: Zusammenfassung bekannter und weniger bekannter CPU-Details

Nach der Zambezi-Verschiebung blüht die Gerüchteküche rund um kommende AMD-CPUs erneut auf. Zeit, die wenigen Quellen aus erster Hand noch einmal genau aufzuarbeiten. PCGH stellt alles zum Bulldozer vor. (Torsten Vogel, 11.08.2011)
 
Der "Software Optimization Guide for AMD Family 15h Processors" ist, neben einige eher werbeorientierten Folien, bis heute die einzige offizielle Quelle technischer Details zu AMDs kommender Bulldozer-CPU-Architektur. Heute wollen wir weitere Informationen aus dem 323 Seiten starken Werk ans Tageslicht bringen und andere, bestätigte Informationen zur Technik zusammenfassen.

AMD Bulldozer: Funktionsumfang
Neben den bekannten SIMD-Befehlssätzen (einschließlich SSE 4.2) und AES unterstützt Bulldozer auch die mit Sandy Bridge eingeführten AVX-Instruktionen und zwei Neuentwicklungen. XOp ist ein aus AMDs gescheitertem SSE5-Projekt hervorgegangener Vektor-Befehlssatz, FMA4 ermöglicht die Nutzung der Fused-Multiply-Add-Funktionen der neuen Gleitkomma-Einheit. Es stellt zugleich die erste x86-Erweiterung dar, die bis zu vier Operanden miteinander verarbeiten kann - im Gegensatz zu maximal drei Operanden bei AVX und FMA3. Letzteres wird von Intel mit der Haswell-CPU-Generation eingeführt werden, eine Unterstützung von FMA4 durch Intel ist dagegen ungewiss und so bietet Bulldozer Abwärtskompatibilität zu FMA3. "Fused-Multiply-ADD"-Einheiten können eine Addition und Multiplikation in einem Schritt durchführen. Dies beschleunigt, bei passender Softwareunterstützung, die Ausführungsgeschwindigkeit um den Faktor zwei. Zugleich wird die Präzision verbessert, da zwischen beiden Schritten nicht gerundet wird.

Aufbau eines Zambezi / AMD FX aus vier Bulldozer-Modulen und gemeinsam genutzten L3-Cache und Northbridge-Funktionalitäten.
 
Aufbau eines Zambezi / AMD FX aus vier Bulldozer-Modulen und gemeinsam genutzten L3-Cache und Northbridge-Funktionalitäten. [Quelle: siehe Bildergalerie]
AMD Bulldozer: Grundaufbau und Caches
Mittlerweile gut bekannt sein sollte der Aufbau der Bulldozer CPUs aus unabhängigen Modulen und gemeinsam genutzten L3-Cache und Northbridge. Letztere umfasst in bekannter Weise einen Dual-Channel-DDR3-Speichercontroller und bis zu 4 Hyper-Transport-3-Links bei Server-Modellen. Die maximale Taktfrequenz des Speichers wird definitiv steigen, die Hypertransport-Taktrate der AM3+ ist noch nicht offziell bestätigt. Maximal spezifiziert wären 3,2 GHz, genutzt wurden bislang 2,0 GHz. Der L3-Cache ist in Abschnitte zu je 2 MiByte gruppiert, einer pro Modul, und maximal 8 MiByte groß. Er wird als eine Einheit angesprochen und steht allen Modulen gemeinsam zur Verfügung.

Ebenfalls in 2 MiByte-Blöcken kommt der L2 Cache daher, und zwar je einmal 2 MiByte als Bestandteil eines Moduls. Unter anderem bedingt durch die gesteigerte Größe (K10: 0,5 MiByte pro Kern), beträgt die Zugriffslatenz auf den L2 Cache nun 18-20 Taktzyklen (K10: 15 Zyklen; Sandy Bridge: 10 Zyklen, 26-31 für L3). Auch die Latenz des L1 Daten-Caches ist von 3 auf 4 Zyklen gestiegen (Sandy Bridge: ebenfalls 4), obwohl dessen Größe mit 16 KiByte auf ein Viertel geschrumpft ist (im Gegenzug ist er nun vier- statt zweifach assoziativ). Der L1-Befehlscache behält seine Größe von 64 KiByte. Zugeordnet sind die L1-Caches den Integer-Einheiten, von denen jedes Modul zwei Stück enthält. Zusätzlich gibt es pro Modul ein Frontend und eine Gleitkomma-Einheit.

Die Integer-'Cores' eines Bulldozer-Moduls verfügen über vier Pipelines, von denen aber nur zwei für komplexe Berechnungen genutzt werden können.
 
Die Integer-"Cores" eines Bulldozer-Moduls verfügen über vier Pipelines, von denen aber nur zwei für komplexe Berechnungen genutzt werden können. [Quelle: siehe Bildergalerie]
AMD Bulldozer: Integer-Einheit
Die Integer-Einheiten stehen seit langem im Mittelpunkt der Aufmerksamkeit und der Diskussion um die Bezeichnung kommender CPUs als Quad- oder Octocore. Prinzipiell bewirbt AMD sie als "Cores", im Optimierungs-Guide ist jedoch meist sachlich von "Integer Execution Units" die Rede. Einmal werden mit den Worten "AMD family 15h processors incorporate four distinct cores on a single die ..." sogar die Module als "Core" bezeichnet. Ob es sich hier um einen copy/paste-Fehler handelt, oder ob sich AMD ein Hintertürchen für den Servermarkt aufhält, ist unbekannt. Für die an dieser Stelle behandelten Multiprozessorumgebungen wäre eine geringere nominelle Kernzahl jedenfalls von Vorteil, denn die Lizenzkosten für Serversoftware werden oft "pro Kern" berechnet.

Ungeachtet der Bezeichnung gibt es klare technische Unterschiede zwischen einem klassischen Kern, einem Bulldozer-Modul und einer Bulldozer-Integer-Einheit. Letztere verfügen, soviel ist schon länger bekannt, über vier Pipelines und einen eigenen Scheduler, der bis zu 4 Befehle pro Takt verteilen kann. Bisherige Kerne der K10-Architektur hatten dagegen einen 3-fach skalaren Scheduler und drei Pipelines (Intel: 4-fach skalar seit dem Core 2). Jede dieser Pipelines verfügte über eine ALU-Einheit für Berechnungen sowie eine AGU-Einheit für einfache Logikoperationen und Adressgenerierung. Bei den Bulldozer-Integer-Einheiten verfügen dagegen nur Pipeline EX0 und 1 über eine ALU und nur Pipeline AG0 und 1 über eine AGU.

Obwohl 1/3 mehr Pipelines vorhanden sind, sinkt die Zahl der Ausführungseinheiten pro Kern also um 1/3, bei feinerer Ansteuerung. Diese ermöglicht theoretisch die Ausführung zusätzlicher Befehle via ALU und AGU zeitgleich. Praktisch listet Anhang B unter fast 300 direkt an eine Pipeline gebundenen Instruktionen (darunter sicherlich viele selten genutzte) nur 6, die sich allein über die AGUs abwickeln lassen. In wie weit AMD die Trennung in mehrere Pipelines in Mehrleistung umsetzen kann, wird somit von der verwendeten Software abhängig sein. Die Ergebnisse könnten sich mit denen von Intel-Prozessoren decken, denn auch hier werden zwei AGUs (und eine Store-Einheit) getrennt verwaltet - allerdings parallel zu drei ALU-Pipelines pro Kern.

Beide Kerne eines Bulldozer-Moduls müssen sich ein Frontend teilen. Die Ansteuerung der Fließkommaeinheit erfolgt laut AMDs Software Optimization Guide über die Scheduler der Kerne.
 
Beide Kerne eines Bulldozer-Moduls müssen sich ein Frontend teilen. Die Ansteuerung der Fließkommaeinheit erfolgt laut AMDs Software Optimization Guide über die Scheduler der Kerne. [Quelle: siehe Bildergalerie]
AMD Bulldozer: Frontend
Was den Integer-Einheiten ebenfalls zum Status eines eigenständigen Kerns fehlt, ist ein Frontend, das heißt Decoder-Einheiten, Prefetcher und Sprungvorhersage. Diese sind nur einmal pro Modul vorhanden und können nun ebenfalls bis zu vier Instruktionen pro Takt dekodieren. Das Verhältnis von Dekodier-Leistung zu den Integer-Kapazitäten eines Moduls entspricht also denen eines K10-Kerns (4 zu 4 beziehungsweise 3 zu 3), im Gegensatz zu Intels asymmetrischer (4 zu 3) Core-Architektur. Um die Auslastung zu verbessern, führt AMD zusätzlich die sogenannte "Branch Fusion" ein. Ähnlich wie Intels Macro-Ops-Fusion ermöglicht diese die Verschmelzung zweier einfacher Instruktionen zu einer einzelnen Micro-Op, was den Durchsatz entsprechend steigert. Weitere Optimierungen am Front-End betreffen die erweiterte (Pre)Fetch-Einheit und eine optimierte Sprungvorhersage, die nun auf einen mehr als doppelt so großen Puffer zurückgreifen kann.

Die Fließkomma-Funktionalität wird von einem Coprozessor pro Bulldozer-Modul bereitgestellt, der auch über zwei eigene MMX-/Integer-Pipelines verfügt.
 
Die Fließkomma-Funktionalität wird von einem Coprozessor pro Bulldozer-Modul bereitgestellt, der auch über zwei eigene MMX-/Integer-Pipelines verfügt. [Quelle: siehe Bildergalerie]
AMD Bulldozer: Gleitkomma-Einheit
Ein weiteres klassisches Kernelement, das die AMDs Bulldozer-"Cores", im Gegensatz zu klassischen Kernen, nicht besitzen, sind Gleitkomma-Pipelines für MMX, SSE und AVX-Berechnungen. Sie wurden stattdessen zu einer zentralen Einheit pro Modul zusammengefasst, der "Flex FPU". Diese verfügt über einen eigenen, 4-fach-skalaren Scheduler, der von beiden Integer-Schedulern als Co-Prozessor angesprochen wird - die Verwaltung der Threads bleibt also in Hand der "Cores". Laut Optimization Guide kann die Gleitkomma-Einheit immer nur von einem Thread Instruktionen angenommen werden - allerdings kann dieser jeden Takt wechseln und die Ausführung der Instruktionen ist flexibel möglich.Der Scheduler kann auf eigene load/store-Einheiten, Register und zwei eigene 128-Bit Integer-Pipelines zurückgreifen. Letztere werden für Logikoperationen, MMX-Befehle und den Fall, dass Integer-Formate in SSE/AVX-Paketen genutzt werden, verwendet - die Mischung der möglichen Instruktionen ist hier vielfältig und lässt eine angemessene Auslastung aller Pipelines erwarten.
Wichtigster Bestandteil der Gleitkomma-Einheit sind jedoch zwei FMAC-Pipelines, die wahlweise zwei 128-Bit-SSE- oder eine 256-Bit-AVX-Instruktion pro Takt annehmen. Wie bereits im Abschnitt zu Befehlssätzen beschrieben, ermöglicht es ihre FMA-Funktionalität, Berechnungen, die bislang zwei Durchläufe in Anspruch nahmen, zusammen auszuführen, wenn die Software entsprechend optimiert ist. So kann ein Bulldozer-Modul im Optimalfall die doppelte Fleißkommaleistung eines K10-Kerns erreichen.

AMD Bulldozer: Fazit
AMDs Bulldozer gilt zu Recht als eine der größten Neuerungen, die die x86-Welt seit Langem gesehen hat. Bisherige "Revolutionen" wie Multicore-Prozessoren oder integrierte Speichercontroller kombinierten de facto nur Funktionen in der CPU, die bislang Aufgabe des Mainboards waren. Das brachte erhebliche Leistungssteigerungen - sonderlich kreativ war es aber nicht. Die Bulldozer-Architektur geht dagegen komplett neue Wege, was die Organisation und Steuerung von Recheneinheiten angeht.

Die hohe Zahl unabhängiger Integer-Scheduler verspricht nie gesehene Multithreading-Fähigkeiten unabhängig von Gleitkommaoperationen. Die FMA4-Unterstützung stellt sowohl hinsichtlich der Operanden als auch der kombinierten Ausführung ein Novum dar, dem die Konkurrenz mehrere Quartale lang nichts entgegenzusetzen haben wird. Weniger revolutionär sind Caches und System-Interface. Aber 16 MiB L2+L3 dürften ein neuer Klassenrekord werden und die hohe Taktraten der HT- und DDR3-Anbindung lässt das Fehlen einer teuren und unflexiblen PCI-Express-Integration oder Triple-/Quad-Channel-Controller noch verschmerzen.

AMD verspricht für Bulldozer eine (deutliche) Leistungssteigerung gegenüber älteren Architekturen. Bisher sind allerdings nur Zahlen von eingeschränkt aussagekräftigen Tests wie super-Pi im Umlauf, sowie AMD eigene Vergleiche mit Software, die von den neuen Befehlssätzen profitiert.
 
AMD verspricht für Bulldozer eine (deutliche) Leistungssteigerung gegenüber älteren Architekturen. Bisher sind allerdings nur Zahlen von eingeschränkt aussagekräftigen Tests wie super-Pi im Umlauf, sowie AMD eigene Vergleiche mit Software, die von den neuen Befehlssätzen profitiert. [Quelle: siehe Bildergalerie]
Bei all dieser Begeisterung schwingt jedoch auch Sorge mit. Fast alle Neuerungen stellen hohe Anforderungen an die Optimierung der Software. Die Integer-Leistung verlangt nach zwei unabhängigen Threads pro Modul. Generiert ein Spiel weniger oder wird die Performance durch einen besonders umfangreichen Hauptthread limitiert, könnte sich die feine Einteilung der Integer-Einheiten in "Cores" mit je zwei ALUs sogar als Rückschritt erweisen, denn bislang konnten drei ALUs gemeinsam angesprochen werden. Ohne FMA-Unterstützung kann die pro-Takt-Fließkomma-Leistung eines Moduls nur durch die Integer-unabhängige Ausführung über die Fähigkeiten eines K10-Kerns steigen.

Im Endkundenmarkt könnte sich so der technische Vorsprung gegenüber Intel zu einem klassischen Henne-Ei-Dilemma entwickeln: Solange Bulldozer-CPUs noch keine große Verbreitung haben, optimiert niemand seine Software für die neuen Fähigkeiten - und solange das niemand macht, gibt es einen Kaufanreiz weniger. Selbst bei hoher Akzeptanz durch die Programmierer stellt sich die Frage, wie schnell Produkte auf den Markt kommen, die die neuen Funktionen berücksichtigen.

Abschließend noch ein kleiner Ausblick auf denkbare zukünftige CPU-Modelle anhand eines Zitates aus dem Optimization Guide: "On a four compute-unit processor, four producer/consumer pairs can run simultaneously, ...; for example, on a microprocessor with a 16MB L3 cache" 16 MiB L3 Cache und 4 Module - entweder ein Hinweis auf Dual-Die-CPUs mit zur Hälfte deaktivierten Modulen und voller Cache-Bestückung oder auf zukünftige CPUs mit riesigen 16 MiByte L3-Cache pro Die (oder MCM, Stichwort Interlagos). Was meinen Sie?

Eckdaten von Bulldozer und aktueller CPU-Architekturen.
K10-Hexacore 4-Modul-Bulldozer Sandy-Bridge-Quadcore Westmere-Hexacore
Codename Thuban Zambezi Sandy Bridge Gulftown
Produkte Phenom II X6 FX-Serie Core i5/i7-2000 Core i7-900
Integer-Scheduler 6 8 4 6
Integer-"Pipelines" 18 32 12 18
Integer-ALUs 18 16 12 18
Integer-AGUs 18 16 8 12
Fließkomma-Scheduler (6)* 4 (4)* (6)*
SSE/AVX-Fließkomma-Pipelines 6 FADD + 6 FMUL 8 FMAC (4)** FADD + (4)** FMUL (6)** FADD + (6)** FMUL
MMX-Integer-Pipelines 6 8 (4)** (6)**
Befehlssätze (unter anderem) SSE3 (+SSE4a) SSE 4.2, AES, AVX, FMA4 SSE 4.2, AES, AVX SSE 4.2, AES
Decoder 6 (3-fach skalar) 4 (4-fach skalar) 4 (4-fach skalar) 6 (4-fach skalar)
(Pre)Fetcher 6 4 4 6
L1 Instruktion Caches 6 x 64 KiByte 8 x 64 KiByte 4 x 32 KiByte 6 x 32 KiByte
L1 Daten Caches 6 x 64 KiByte 8 x 16 KiByte 4 x 32 KiByte 6 x 32 KiByte
L2 Caches 6 x 512 KiByte 4 x 2048 KiByte 4 x 256 KiByte 6 x 256 KiByte
L3 Cache 1 x 6 MiByte 1 x 8 MiByte 1 x 8 MiByte 1 x 12 MiByte
RAM-Interface 2 x DDR3 1333 2 x DDR3 ???? 2 x DDR3 1333 2 x DDR3 1066
System-Interface HT, 16 GB/s HT, ??? *** 16 + 4 x PCI-E , 20 GB/s QPI, 25,6 GB/s

* mit Integer gemeinsam verwaltet;
** an Integer-Pipelines gekoppelt;
*** 25,6 GB/s spezifiziert (K10 nutzte 80% der spezifierten 20,8 GB/s)
 
 
Alle Artikel zu CPUs und Prozessoren von Intel und AMD finden Sie auf der CPU-Themenseite. Eine aktuelle Prozessor-Kaufberatung finden Sie im Artikel Intel- und AMD-CPUs: Test-Übersicht und aktuelle Kauf-Tipps. Mehr zum Phenom-Entwickler AMD und Core-Entwickler Intel erfahren Sie in unseren Themen-Specials.
 
 
 
 
 
  1. Intel Core i5-3570K
    € 207.00
  2. Intel Core i5-3450
    € 169.60
  3. Intel Core i7-3770K
    € 308.49
  4. Intel Core i5-2500K
    € 182.00
  5. AMD Phenom II X4 965 Black Editio...
    € 88.90
  6. Intel Core i7-3770
    € 265.00
  7. AMD FX-Series FX-8150
    € 176.97
  8. Intel Core i5-3550
    € 185.39
  9. Intel Core i3-2120
    € 102.00
  10. Intel Core i7-3930K
    € 484.99
 
Aktuelle Kommentare
Skysnake
Volt-Modder
11.08.2011 20:02
AW: Die Bulldozer-Bibel: Zusammenfassung bekannter und weniger bekannter CPU-Details

Naja, SuperMicro hat ja in dem Video 1U Server mit Single oder Double 8 Modul BDs gezeigt. Die werden sicherlich auch inzwischen Wissen was Sache ist, genau wie die Leute von Crey, sowie die MB Hersteller wohl wissen werden, was Sache ist. Aber von denen rückt ja keiner mit etwas raus

noghry
Sysprofile-User
11.08.2011 19:58
AW: Die Bulldozer-Bibel: Zusammenfassung bekannter und weniger bekannter CPU-Details

So, theoretisch wäre ja jetzt eigentlich alles geklärt, aber wie es mit der tatsächlichen Leistung aussieht, weiß momentan wahrscheinlich nur AMD selbst. Bin echt total gespannt, wenn endlich der Startschuss für die ersten herstellerunabhänigen Benchmarks fällt und wir uns ein eigenes Bild davon machen können.

Skysnake
Volt-Modder
11.08.2011 17:26
AW: Die Bulldozer-Bibel: Zusammenfassung bekannter und weniger bekannter CPU-Details

Ja, das wird sehr interessant, und btw. den Vergleich von dir finde ich grad köstlich passend

 
 
701 User online
Anmelden & mitmachen
Benutzername:
Kennwort:
Angemeldet bleiben
Jetzt mitdiskutieren!
Jetzt bestellbar!
Alles zu Crysis 3
Die besten Deals
Komplett-PCs von PCGH
Komplett-PCs von PCGH
So unterstützen Sie PCGH
Folgen Sie PCGH
Aktuelle Heft-Ausgabe
Wurde dir schon einmal ein Online-Account oder der Key (Lizenzschlüssel) eines Spiels gesperrt?
Ja, Key für Steam-Spiel (2.36%)
Ja, Key für Origin-Spiel (1.50%)
Ja, Key für Battle.net-Spiel (0.43%)
Ja, Key für Games for Windows Live (Live-Dienste) (0.64%)
Ja, Account für Steam (2.36%)
Ja, Account für Origin (0.00%)
Ja, Account für Battle.net (1.28%)
Ja, Account für Games for Windows Live (Live-Dienste) (0.21%)
Ja, von mehreren Online-Diensten und/oder Spielen (1.07%)
Nein, bisher nicht von einer Sperrung betroffen (82.01%)
Sonstiges/weiß nicht (2.78%)
Nein, aber mir wurde schon der Multiplayer-Zugang gesperrt (VAC etc) (4.71%)
Ja, Key für Ubisoft-Spiel (0.43%)
Ja, Account für Ubisoft (0.21%)
467 Teilnehmer
PCGH-Webshops