Aktuelle Änderungen hervorheben

Bereits im November berichteten wir darüber, dass "Fritzchens Fritz" auf Flickr Detailaufnahmen von AMDs aktuellen Zen-2-CPUs veröffentlicht hat. Die Bilder stellt der Fotograf dankenswerter Weise unter CC0-1.0-Lizenz ohne Copyright zur Verfügung. Aber auch ohne Kommentar und viele Leser fragten uns im Anschluss, was genau sie da eigentlich sehen. Eine Anmerkung vornweg: Wissen tun wir das auch nicht mit Sicherheit, sonst hätten wir es schon damals dazu geschrieben. Leider hält sich AMD (wie auch alle anderen Hersteller) mit solchen Informationen vornehm zurück. Ohne direkte Beschreibung müssen wir uns also durch Vergleiche diverser Informationsquellen unsere eigenen Schlussfolgerungen ziehen und diese mit unserem, über die Jahre erarbeiteten, Hintergrundwissen abgleichen. Das Ergebnis finden sehen sie vor sich - gefüllt mit vielen Details, aber ohne Garantie, dass jedes einzelne davon richtig ist.

37:04

AMD-Zen-2-Chiplet im Video: Die-Shots interpretiert CPU

Zen-2-Die-Shots: Was ist das eigentlich?

Als Einstieg sollten wir die grundlegenden Begriffe erklären: "Die" ist der englische Singular von "dice", bezeichnet also ursprünglich einen einzelnen Würfel. Über den Umweg "dicing", dem Zerschneiden von Nahrung in kleine Würfel (z.B. "diced meat") floss der Begriff aber auch in die Halbleiterindustrie ein, die einen aus großen Silizium-Wafern herausgeschnittenen, einzelnen Chip als "die" bezeichnet. Der englische Plural lautet in diesem Fall "dies", um die Verwirrung insbesondere im Umfeld deutscher Pronomen auf die Spitze zu treiben, weswegen wir das Wort nach Möglichkeit vermeiden und lieber von "Silizium-Chips" sprechen, denn genau darum soll es gehen. Genauer: Um Fotos ("shots") derselben. Aber nicht in ihrer Einsatzform, wie man sie zum Beispiel auf Grafikkarten nach Demontage des Kühlers bewundern kann. Die-Shots werden nämlich für gewöhnlich von der spannenderen aktiven Seite eines Halbleiters angefertigt. Also dem Teil, der alle rechnenden Bauteile trägt und der deswegen mit seinen Kontakten auf der dem Trägersubstrat zugewandten Seite eines Chips liegt. Ehe diese unter dem Mikroskop fotografiert werden kann, müssen in der Regel noch die Überreste von Lötkontakten und Kleber abgeschliffen werden.

Zu sehen sind dann aber keineswegs die nackten Transistoren. Zwar sind Fritzchen Fritz' Die-Shots mit bis zu 100 MB in komprimierter JPEG-Form und über 1 GB Speicherbedarf in geöffnetem Zustand sehr groß, auch das reicht aber nur für eine Feinheit von ungefähr einem Pixel pro 1.000 nm. Einzelne, zum Teil nicht einmal 10 nm breite Transistoren kann man darin also nicht erkennen; solche Details aus der untersten Schicht direkt im Trägersilizium lassen sich mit einem Lichtmikroskop gar nicht ablichten. Auch die logischen Zellen, in denen mehrere Transistoren eine Schicht höher zu einem basalen Halbleiterelement verschaltet werden, sind mit Kantenlängen von 40 bis 600 nm deutlich kleiner. Mit Lichtmikroskopen angefertigte Die-Shots zeigen bestenfalls die darüber gestapelten Verdrahtungsebenen zwischen diesen logischen Zellen, wobei es zusätzlich geschickte Ausleuchtung und Nutzung von Beugungseffekten an den feinen Strukturen braucht, um dem kontrastarmen Silizium-Motiv überhaupt sichtbare Details zu entlocken.

Zen-2-Die-Shots: Das CPU-Chiplet

Ein Zen-2-Chiplet (rechts oben) in seiner natürlichen Umgebung: Zusammen mit einem AM4-I/O-Chip bildet einen Matisse-Prozessor mit maximal acht Kernen, also Ryzen 5 3600 bis Ryzen 7 3800X Quelle: Fritzchens Fritz auf Flickr Konzentrieren möchten wir uns heute auf die eigentliche Recheneinheit von AMDs Zen-2-CPUs. Die in 7 nm bei TSMC gefertigten, sogenannten CPU-Chiplets stellen die eigentliche Rechenleistung bereit und werden in wechselnder Anzahl auf Ryzen-3000- (ein oder zwei Chiplets), Ryzen-Threadripper-3000- (vier Chiplets) und aktuellen Epyc-Prozessoren (vier oder acht Chiplets) verbaut. Dazu kommt jeweils ein I/O-Chip, der die gesamte Kommunikation des Prozessors mit seiner Umgebung abwickelt. Gefällt Ihnen dieses Special? Dann legen wir gerne einen Teil 2 mit Die-Shots der für die Rechenleistung weniger wichtigen, aufgrund der Vielzahl an Schnittstellen aber ungleich komplexeren I/O-Chips auf.

Das diversen Ausschnitten dieses Artikels zugrunde liegende Foto können Sie in voller Auflösung in Fritzchen Fritz' Flickr-Auftritt herunterladen, dort sind auch weitere Ansichten aus wechselnder Perspektive und mit verschiedenen Beleuchtungen zu finden. Als Interpretationshilfsmittel haben wir auch die Aufnahmen der Vorgängergeneration Summit Ridge und des Matisse-I/O-Chips genutzt, alle weiteren gezeigten Ausschnitte drehen sich aber um das Zen-2-CPU-Chiplet.

Zen-2-Die-Shots: CCDs, CCX, Uncore

Schon auf den ersten Blick ist die Grobstruktur des auch CCD genannten Chips ersichtlich: Symmetrisch um die Längsachse gespielt gibt es zwei große Blöcke oben und unten und dazwischen einen schmalen, strukturierteren Balken. Da Ryzen-Prozessoren intern nicht nur in Chiplets, sondern noch feiner in je zwei "Core" oder auch "Compute Complexe" unterteilt sind, ist die Zuordnung einfach: Ein CCX oben, ein CCX unten.

Während sich die beiden Rechencluster leicht zuordnen lassen, können wir bei der Aufteilung des zentralen Uncore-Bereichs von AMDs 7-nm-Chiplet auch nur raten. Quelle: Fritzchens Fritz/PC Games Hardware Dazwischen liegt ein Uncore-Bereich, über dessen genauen Aufbau wir nur spekulieren können. Die Logik diktiert, dass hier die Endpunkte des Infinity-Fabric-Link liegen, der den gesamten Datenaustausch zwischen dem CPU-Chiplet und dem benachbarten I/O-Chip, also dem gesamten restlichen System regelt. Tatsächlich entspricht die Feinunterteilung des mittleren Uncore-Bereichs zahlenmäßig derjenigen der IF-Endpunkte auf den I/O-Chips. Im Aufbau der einzelnen, replizierten Strukturen gibt es aber klare Unterschiede und die Randbereiche erinnern nicht einmal oberflächlich an andere AMD-Chips. Denkbar wäre hier ein tatsächlich abweichendes Design für die in 7 nm gefertigten Chiplets und die in 12- oder 14-nm-Fertigung vom Band laufenden I/O-Chips, denn das Layout musste AMD aufgrund der unterschiedlichen Platzverhältnisse sowieso anpassen. Kleine Abweichungen können aber auch direkt aus der Präparation für die Fotos resultieren. Bleiben auf einem Chip zusätzliche Verdrahtungsebenen zurück, die auf einem anderen abgeschliffen wurden, ergeben sich unterschiedliche Bilder trotz gleicher Elektronik.

Zen-2-Die-Shots: Innerhalb eines CCX

Auf die innere Struktur der CCX geben dagegen schon AMDs offizielle Pressetexte Hinweise. Die Bezeichnung "CCD" für die gesamten CPU-Chiplets wird gerne als "Compute Cache Die" ausgeschrieben, wir suchen also nach Rechenkernen und Cache-Bereichen. Da ein Ryzen 7 3800X als größte CPU mit nur einem CCX über acht Kerne verfügt, sollten wir deren vier in jedem der beiden CCX eines CCDs finden - und das ist wirklich keine Herausforderung, zumal AMD eine sehr ähnliche CCX-Struktur auch schon in der Vorgängergeneration nutzte. Nahezu unmöglich ist dagegen die Interpretation des Kreuzungsbereiches zwischen den vier Kernen. Hier dürften sich die Crossbar für die direkte Kommunikation zwischen allen CCX-Quadranten und diverse Kontrolllogiken für Temperaturüberwachung, Power-Gating und Taktkontrolle befinden, zu deren optischen Aufbau es aber keinerlei Anhaltspunkte gibt.

Caches sind in Die-Shots kaum zu übersehen, das Zählen von (Kern) Eins bis (Kern) Vier überfordert PCGH-Redakteure ebenfalls nicht – eine Interpretation des CCX-Grobaufbaus fällt uns daher leicht. Quelle: Fritzchens Fritz/PC Games Hardware

Zusätzlich erwarten wir jede Menge Cache und der ist auf Die-Shots noch leichter zu identifizieren: Während Logikschaltungen und insbesondere deren Ansteuerung oft komplex miteinander vernetzt und hierzu in bestimmten Positionen zu einander platziert werden müssen, lassen sich Speicherzellen sehr kompakt replizieren, ohne dass Verwaltungsstrukturen die Muster unterbrechen. Große, rechteckig gemusterte Bereiche stellen also nahezu immer Speicherarrays dar. Anhand eines Fotos lässt sich zwar nicht sagen, ob es Flash-Zellen, DRAM für Arbeitsspeicher, SRAM für Caches oder einfache Flip-Flops als Buffer von I/O-Systeme sind, da wir nur die logische Verdrahtung in Spalten und Zeilen sehen. Ein CPU-Chiplet verfügt aber primär über SRAM-Caches, sodass die Interpretation diesmal trotzdem leicht fällt.

Zen-2-Die-Shots: Der Cache

Gucken wir uns den jedem Kern zugeordneten Speicher noch einmal genauer an, fallen weitere Unterteilungen auf. Im der dem CCX-Zentrum näheren Hälfte zunächst ein Kreuz mit Balken aus regelmäßigen Strukturen und einem unregelmäßigen Zentrum, dass vier Felder mit symmetrischen Speicherblöcken definiert. Letztere bestehen wiederum aus vier Zeilen und acht Spalten von Achterblöcken. Den gleichen Grundaufbau gab es auch bei Zen+-Prozessoren schon, nur waren es dort vier Felder mit je vier mal acht Viererblöcken, also die Hälfte der von uns bei Zen 2 vorgefundenen Grundeinheiten. Beim gleichen Generationswechsel hat AMD die Größe der L3-Caches von 2 auf 4 MiB pro Kern verdoppelt (= 16 MiB pro CCX = 32 MiB pro CCD = 64 MiB insgesamt beim Ryzen 9 3950X). Wir zählen 1 und 1 zusammen und stellen fest: Der L3-Cache-Bereich jedes Zen-2-Kerns besteht aus 4 Speicherfeldern mit je 32 Untereinheiten zu je 8 Speicherblöcken, die demnach jeweils 4 KiB groß sind. Bei Zen und Zen+ waren sie genauso groß, aber es gab nur 4×32×4 Speicherblöcke je Kern. Das Kreuz zwischen diesen Feldern dürfte aus Begleiteinheiten des L3-Caches bestehen: Einerseits braucht dieser natürlich eine Form von Controller (der Zentralbereich), andererseits zahlreiche begleitende Speicher, beispielsweise TLBs, damit die Daten schnell gefunden und weitergeleitet werden können. Die kleinen Kreuze innerhalb der einzelnen Speicherblöcke könnten wiederum aus für die Zugriff nötigen Strukturen zusammengesetzt sein - eine Zeilen- und Spaltenmatrix brauchen weitere Schaltungen zur Ansteuerung. Innerhalb eines CCX-Quadranten wartet neben dem eigentlichen Rechenkern jede Menge flotter Zwischenspeicher. Die Cache-Arten lassen sich leicht zuordnen, benachbarte Areale aber nur aufgrund ihrer Lage von sonstigen kernspezifischen Einheiten unterscheiden. Quelle: Fritzchens Fritz/PC Games Hardware

Unmittelbar neben dem großen L3-Bereich finden wir ein zweites Areal mit sehr ähnlichen, aber sehr viel weniger Speicherblöcken und einem zunehmenden Anteil an Kontrolllogik. Dieser hat seine Größe und Struktur gegenüber der Vorgängergeneration kaum verändert. Zu sehen sind zwei Felder mit jeweils viermal acht Vierergruppen, wobei jeder einzelne Speicherblöcke etwas weniger Fläche als noch im L3-Cache einnimmt. Naheliegende Vermutung: Es handelt sich um eine schnellere, daher weniger kompakte und in dieser Größe vermutlich halb so viel Kapazität bietende Speicherart. 2 KiB × 4 Blöcke pro Gruppe × 8 Gruppen je Zeile × 4 Zeilen je Feld × 2 Felder ergibt 512 KiB und "etwas schneller als L3" spricht für den Second-Level-Cache. Davon hat jeder Zen-2- und Zen+-Kern 512 KiB. Passt! Drum herum die Ansteuerungs- und Verwaltungseinheiten.

Zen-2-Die-Shots: Der Kern

Bewegen wir uns noch einen Schritt weiter zum Rand des CCX, auf unserem letzten Ausschnitt also nach links, wird es schwieriger. Hier gibt es viele diffuse Bereiche, was bei der noch fehlenden komplexen Rechenlogik nicht überrascht, und in diese eingebettet ein paar größere, Cache-ähnliche Blöcke. Letztere passen gut in unser Schema, denn die CPU hat je Kern noch einen 32 KiB großen L1-Daten- und einen 64 32 KiB großen L1-Befehlscache. Wie schon die Aufteilung in verschieden Aufgabenbereiche zeigt: Diese arbeiten extrem eng mit den eigentlichen Recheneinheiten zusammen und werden tatsächlich auch räumlich nahe an diese herangeführt. Unsere Interpretation wird dadurch allerdings deutlich erschwert. Wir sehen auf unserem Ausschnitt eines Zen-2-Kerns ein Speicherfeld mit 4 × 4 Doppelgruppen unten links, das ergäbe mit einer weiteren Halbierung der Speicherblockgröße auf 1 KiB also den gesuchten 32-KiB-Daten-Cache. Von unten rechts bis in die Bildmitte zieht sich ein L-förmiger Bereich mit insgesamt weiteren 56 derartigen Doppelgruppen, ergänzt um 4 × 4 Einzelgruppen/einzelne Speicherblöcke oben rechts. Zusammen ergeben sich 64 KiB Instruktions-Cache , die geteilte Anordnung der Speicherareale können wir aber nicht erklären. Möglicherweise nutzen Decoder, Load-Store-Einheiten die Sprungvorhersage einen der beiden Bereiche mit? Innerhalb eines Kerns beginnt auch bei uns das Raten. Nur der für SSE- und AVX-Berechnungen zuständige SIMD-Bereich ist klar abgegrenzt. Die L1I-Markierung im Bild ging von einer falschen Größenannahme aus und dürfte weitere Speicherbereiche anderen Funktionseinheiten umfassen. L1D und Sprungvorhersage könnten vertausch sein. Quelle: Fritzchens Fritz/PC Games Hardware Eigentlich wollen wir der Sprungvorhersage aber einen ganz anderen Speicherbereich zuschreiben: Oben links in unserer Darstellung finden sich zwei weitere, große regelmäßige Areale und drum herum viel diffuse Logikschaltungen. Offiziell nennt AMD keine weiteren Speicherbereiche, aber da Sprungvorhersagen systematisch den zurückliegenden Programmablauf auswerten und dafür bereits erfolgte Sprünge zwischenspeichern müssen, ist diese Struktur ein naheliegender Kandidat. Es könnte sich aber auch um die Befehlsdecoder handeln, die über einen Micro-Op-Cache zur Zwischenspeicherung von bereits für die Recheneinheiten dekodierten Instruktionen verfügen. Diesen erwarten wir aber noch näher bei den eigentlichen Recheneinheiten und dem Befehls-Cache. Und tatsächlich: Im vom L-förmigen Teil des L1I eingeschlossenen findet man nicht nur viel Logik, sondern auch zwei zwar kleine, aber regelmäßig in Zeilen und Spalten organisierte Strukturen. Damit ist unsere Feininterpretation der rechten zwei Drittel des Kernbereichs aber auch endgültig am Ende. Die wolkenähnlichen Logikbereiche den vier ALUs und zwei AGUs, diversen Register und ähnlichen Einheiten zuzuordnen, ist ohne weitere Informationen nicht möglich.

Wenden wir uns daher zum Abschluss dem Bereich links außen zu: Mittig ist dieser diffus, darüber und darunter finden sich zwei von oben nach unten strukturierte, aber sich von links nach rechts nicht wiederholende Bereiche, deren beinahe spiegelsymmetrischer Aufbau für je zwei doppelt vorhandene, sehr ähnliche Einheiten spricht. Was hat vier Pipelines und einen Scheduler? Zen 2s SIMD-Einheit, die, wie bei AMD üblich, getrennt vom Integer-Teil des Kerns arbeitet. Tatsächlich finden wir einen halbierte Form dieser Einheit auch auf Zen+-Die-Shots und der entscheidende SIMD-Unterschied zwischen beiden Generationen ist der Wechsel von 128-Bit- auf 256-Bit-Einheiten für schnellere AVX2-Bearbeitung.

Unterstützt PCGH – es dauert nur eine Minute. Danke! Alle Leser bekommen bei uns täglich kostenlos News, Artikel, Guides, Videos und Podcasts über aktuelle Spiele-Hardware und ihre Lieblingsspiele. Bislang haben wir diese Seite vorwiegend über Werbung finanziert, doch seit COVID-19 wird das zunehmend schwieriger. Viele Unternehmen kürzen oder streichen für 2020 ihre Werbebudgets. Budgets, auf die wir leider angewiesen sind, wenn wir PC Games Hardware auch in Zukunft in gewohnter Form kostenlos anbieten wollen. Aus diesem Grund wenden wir uns jetzt an euch. Ihr könnt uns als PCGH-Supporter dabei unterstützen, dass wir unsere bekannten Inhalte auch weiterhin in gewohnter Form kostenlos anbieten können. Jeder Beitrag, ob groß oder klein, ist wertvoll. Unterstützt PC Games Hardware - es dauert nur eine Minute. Jetzt unterstützen Wir danken euch jetzt schon im Voraus.

Links: Eine vollständige Zen+-SIMD-Einheit, rechts eine Hälfte des Zen-2-Gegenstücks. Die Ähnlichkeiten sind offensichtlich und erlauben eine eindeutige Zuordnung dieses Chip-Bereichs. Quelle: Fritzchens Fritz/PC Games Hardware

(*) Affiliate-Links haben wir mit einem Sternchen gekennzeichnet. Wir erhalten für einen Kauf über unseren Link eine kleine Provision und können so die kostenlos nutzbare Webseite teilweise mit diesen Einnahmen finanzieren. Für den User entstehen hierbei keine Kosten.