Online-Abo
  • Login
  • Registrieren
Games World
  • 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.

    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: AMDAMD 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: http://www.amd.comAMD 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: http://www.amd.comAMD 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: http://www.amd.comAMD 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: AMDBei 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-Hexacore4-Modul-BulldozerSandy-Bridge-QuadcoreWestmere-Hexacore
    CodenameThubanZambeziSandy BridgeGulftown
    ProduktePhenom II X6FX-SerieCore i5/i7-2000Core i7-900
    Integer-Scheduler6846
    Integer-"Pipelines"18321218
    Integer-ALUs18161218
    Integer-AGUs1816812
    Fließkomma-Scheduler(6)*4(4)*(6)*
    SSE/AVX-Fließkomma-Pipelines6 FADD + 6 FMUL8 FMAC(4)** FADD + (4)** FMUL(6)** FADD + (6)** FMUL
    MMX-Integer-Pipelines68(4)**(6)**
    Befehlssätze (unter anderem)SSE3 (+SSE4a)SSE 4.2, AES, AVX, FMA4SSE 4.2, AES, AVXSSE 4.2, AES
    Decoder6 (3-fach skalar)4 (4-fach skalar)4 (4-fach skalar)6 (4-fach skalar)
    (Pre)Fetcher6446
    L1 Instruktion Caches6 x 64 KiByte8 x 64 KiByte4 x 32 KiByte6 x 32 KiByte
    L1 Daten Caches6 x 64 KiByte8 x 16 KiByte4 x 32 KiByte6 x 32 KiByte
    L2 Caches6 x 512 KiByte4 x 2048 KiByte4 x 256 KiByte6 x 256 KiByte
    L3 Cache1 x 6 MiByte1 x 8 MiByte1 x 8 MiByte1 x 12 MiByte
    RAM-Interface2 x DDR3 13332 x DDR3 ????2 x DDR3 13332 x DDR3 1066
    System-InterfaceHT, 16 GB/sHT, ??? ***16 + 4 x PCI-E , 20 GB/sQPI, 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)

    Wissenswert: Mehr Informationen zum Thema finden Sie in:
    AMD Zen ab 2017: Alles zu Release-Termin, CPU-Sockel, technische Daten [Update]
  • Stellenmarkt

    Es gibt 42 Kommentare zum Artikel
    Von Skysnake
    Naja, SuperMicro hat ja in dem Video 1U Server mit Single oder Double 8 Modul BDs gezeigt. Die werden sicherlich auch…
    Von noghry
    So, theoretisch wäre ja jetzt eigentlich alles geklärt, aber wie es mit der tatsächlichen Leistung aussieht, weiß…
    Von Skysnake
    Ja, das wird sehr interessant, und btw. den Vergleich von dir finde ich grad köstlich passend
    Von ruyven_macaran
    Wenn du deinen Vergleich Golf gegen Golf aufrechterhalten willst, ist der Bulldozer dagegen aber eine... - hmm:…
    Von Skysnake
    Naja, die heutigen X6 haben wahrscheinlich wenn man genau hinsieht mit dem Ur-Athlon genau so viel zu tun, wie ein…
  • Print / Abo
    Apps
    PC Games Hardware 01/2017 PC Games 12/2016 PC Games MMore 01/2016 play³ 01/2017 Games Aktuell 12/2016 buffed 12/2016 XBG Games 11/2016
    PCGH Magazin 01/2017 PC Games 12/2016 PC Games MMORE Computec Kiosk On the Run! Birdies Run
article
829207
CPU
AM3+
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.
http://www.pcgameshardware.de/CPU-Hardware-154106/Specials/AM3-829207/
11.08.2011
http://www.pcgameshardware.de/screenshots/medium/2010/08/pdf-7-1280.jpg
bulldozer,amd,cpu
specials