AMD-Zen-2-Chiplet unter dem Mikroskop: Die-Shots interpretiert

Jetzt ist Ihre Meinung gefragt zu AMD-Zen-2-Chiplet unter dem Mikroskop: Die-Shots interpretiert
Danke Torsten,

ich habe ja nun überhaupt keine Ahnung von Chips und deren Aufbau und so kommt zumindest ein bisschen Licht ins Dunkel.
Spannende Sache, verständlich vorgetragen und Eure Kameraführung wird auch immer besser. Da freue ich mich dann auf die
Analyse des IO-Chips.

Kommt alle gut ins neue Jahr!
 
Toller Artikel!
Vermutlich seit meiner Geburt bin ich daran interessiert, wie Chips aufgebaut sind und genau von so etwas würde ich mir auch mehr wünschen.
Hans de Vries hat damals mindblowing Aufschlüsselungen von die shots veröffentlicht, leider ist er mehr oder weniger inaktiv geworden.

Da ich selber seit Wochen an meiner Zen2-Analyse-Serie schreibe, fallen mir mehrere Dinge im Artikel auf:
Artikel schrieb:
Die Bezeichnung "CCD" für die gesamten CPU-Chiplets wird gerne als "Compute Cache Die" ausgeschrieben
Ich habe diese Bezeichnung noch nirgendwo gelesen oder gehört.
AMD hat beim HPC-AI Advisory Council in Leicester, CCD als "Core Compute Die" bezeichnet und auch mal umgedreht, als "Compute Core Die".
AMD-HPC-AI_23-740x415.png

Praesentation - AMD Epyc for High Performance Computing Workloads | Planet 3DNow!

Auf der Hot Chips 2019 hat AMD ein CCD erneut, als "Compute Core Die" bezeichnet:
YouTube

Artikel schrieb:
Letztere passen gut in unser Schema, denn die CPU hat je Kern noch einen 32 KiB großen L1-Daten- und einen 64 KiB großen L1-Befehlscache.
Ich erwähne das weiter unten auch, der L1I$ ist bei Zen2 nur noch halb so groß bezüglich der Kapazität, im Vergleich zu Zen1.
Es sind 32KiB für I$ und D$, bei Zen1 waren es noch 64KiB L1I$ und 32KiB L1D$.

Bezüglich der Bilderbeschriftung beim L3$, was dort als TLBs bezeichnet wird, sind Cache Tags.
Über/Unter der L3$-Kontrolleinheit befinden sich sehr wahrscheinlich die Shadow Tag Macros, wo Adressteile von jedem L2$ gespeichert werden, damit man bei einem lokalen L2$ miss effizienter herausfindet, ob irgendein anderer L2$ die nötigen Daten hat.
Also anstatt bei einem local miss die anderen L2-Caches direkt zu überprüfen, wird zuerst bei den STMs nachgeschaut, was dazu führt das man insgesamt viel weniger Druck auf die L2-Caches ausübt und laut AMD sparen sie dadurch auch viel elektrische Energie deswegen.

Die Zeichnung ist relativ alt, ich habe noch keine Aktualisierte angefertigt, aber so grob sieht mein Bild aus:
Anhang anzeigen Zen2 only CPU die.jpg

PS: Was ich generell toll bei PCGH finde, ist das Ihr seit Jahren, als einer der wenigen Publikationen den binären Einheitenstandard wie Kibi, Mebi, etc. verwendet.

---------------------------

Sieht schon interessant aus das ganze.

Vor allem wenn man die jetzt mit den DIE- Shots von Ryzen 1000 und 2000 vergleicht.

Da sieht man schon zum Teil erhebliche Unterschiede. AMD hat sich schon was bei dem ganzen gedacht.
[...]
Im Detail gibt es echt viele Unterschiede zwischen beiden CPUs, mehr als ich erwartet hätte.
Viele Flächenproportionen sind etwas anders, Sensoren für Temperaturen, Spannungen, etc. wurden verlegt.
Auch die Implementierung für Clock-/Power-Gating hat man etwas anders geregelt.
Was mich persönlich sehr überrascht hat, ist der L3$ und wie die Tags und Shadow Tag Macros verteilt sind, dass sah bei Zen1 noch sehr anders aus.
Selbst wenn man Zen1 bei Summit Ridge (CPU) und Zen1 bei Raven Ridge (APU) vergleicht, findet man im Detail interessante Unterschiede.

Ganz kleine Anmerkung: Die beigen Rechtecke, bei dem Abschnitt, der IF genannt wird können Widerstände oder Kondensatoren sein. Bei den etwas größeren sehr bunten Bereichen im IF handelt es sich vermutlich um Analoge Schaltungen (Bandgapreference, etc.) zur Spannungsregelung.
Details zur Mitte würden mich aktuell schon fast am meisten interessieren.
Da kann ich fast nur Fragezeichnen an jede Stelle kleben.
Das I/O vom Fabric wird dort die Read/Write-Leitungen haben, aber da gibt es soviele unterschiedliche Elemente.
Das Einzige was ich relativ sicher zuordnen kann ist ein Phase-Locked Loop (PLL) ganz links unten beim IF-Link.

Ansonsten sollte in der Mitte sich die SMU (System Management Unit) befinden, man sieht auf einer Seite SRAM und viele digitale Logik.

Zumindest die in deinem Link als L1D beschriftete Struktur ähnelt stark derjenigen, die schon für Zen 1 als solcher interpretiert wurde, stimmt. Ich konnte aber keine Primärquelle zu dieser Interpretation finden und finde sie etwas merkwürdig: Der L1D soll eine visuell komplett andere Struktur als der gleich performante L1I haben, trotz halbem Speicherplatz mehr Siliziumfläche einnehmen und seine 32 KiB in 56 Doppelblöcken organisieren? Ich mache kein Geheimnis daraus, dass ich so tief im Kern drin auf dünnem Eis balanciere und wenn du weitere Hintergrundinformationen zu deinem Imgur-Link hast, sind diese sehr willkommen.
[...]
Die L1D-Region ist indem Fall keine Interpretation, sondern eine offizielle Angabe aus einer IEEE-Präsentation (2017) von AMD:
Dieshots und weitere Details zur Fertigung der RYZEN-Prozessoren - Hardwareluxx

Das ist auch die beste Quelle, um herauszufinden, wo sich was bei Zen2 (vermutlich) befindet.

Übrigens hat Zen2 den L1I$ umorganisiert.
Statt 64KiB 4-Fach assoziativ, ist der nur noch halb so groß (32 KiB), aber dafür 8-fach assoziativ ausgelegt.
Das SRAM-Design zwischen L1I$ und L1D$ ist bei Zen1 und Zen2 unterschiedlich, der Flächenverbrauch erscheint grob gleich groß zwischen Beiden.
Das ist natürlich komisch, denn man hätte bei Zen2 entsprechend einen kleineren L1I$ erwartet, die ganze Ecke ist aber nur massiv groß und die Flächenproportionen fallen gar nicht so aus, wie ich zumindest ausgehend von Zen1 erwartet hätte.

Wenn man mal anmerken darf, ein sehr schöner Artikel! Da freut man sich, wenn man das Ganze auch mal so ausführlich aufgedröselt zu sehen bekommt. Mein Wissen ist doch eher oberflächlich angehaucht wenn es um die Architektur von CPUs geht. Für das Lokalisieren von Kernen, Cache, Mem- und diverser I/O-Interfaces reicht es noch, aber mehr dann auch nicht und ist auch der Grund, warum von mir an dieser Stelle noch nie etwas ins Netz getragen worden ist. Mitunter ist es sogar so, dass einige Nutzer derart flott agieren und Layoutzeichnungen anfertigen sobald ein paar neue Die-Shots hochgeladen werden, dass es sich fast garnicht lohnt sich dafür extra nochmal Zeit zu nehmen.
[...]
Also es gibt massiv viele die shots, die gar nicht, kaum oder sehr falsch beschriftet sind.
Insofern kann man da noch eine Menge nachtragen bzw. fehlen einem fundierte Benennungen.
 
Zuletzt bearbeitet:
In der Mitte des CCD liegen tatsächlich die Physikalischen Endpunkte des IF welche tatsächlich den gesamten Chip bis zum tiefsten Layer des Chips durchqueren (dem sogenannten Polysilicon-Layer). Dies erkennt man auch sehr schön wenn man sich Layer für Layer durch den Chip klickt. link Ein bißchen weiter geschliffen oder geätzt und es ist nurnoch eine silbrig spiegelnde Fläche ohne jegliche Struktur von Chip übrig.

Danke - DAS sind mal gute Bilder :D sonst bekommt man ja immer nur 1-2 zugeschnittene Ausschnitte in schlechter quali. Mit dem sieht man wirklich wie die Sachen verbunden sind - damit kann man dann auch sofort sehen das es wirklich die Treiber für die IF-Verbindungen sind.


Ein sehr gutes Layout - findet man deine Bilder auch sonst wo?
 
Klasse Artikel, sehr informativ und interessant.
Gerne mehr davon.
Interessant fände ich einen direkten Vergleich zu Intel/monolitischem Aufbau
 
[...]
Ein sehr gutes Layout - findet man deine Bilder auch sonst wo?
Nicht direkt, aktuell gibt es nur ein Video in Englisch, was im Prinzip ein Tutorial ist und im ersten Teil noch sehr simpel ausfällt und von jedem nachvollzogen und selbst ausgeführt werden kann:
YouTube

Am Ende steht man mit dem simplen Layout dar und der Flächengröße von den High-Level-Blöcken:
zen-thumb.jpg


Als Zusammenfassung habe ich nur zwei weitere Bilder erstellt:
1. Marketing vs. echtes Grundlayout (Das Marketing Layout passt gut mit Zen1 überein, wurde für Zen2 aber lazy recycelt):
https://abload.de/img/marketingrvj2b.jpg

2. Flächenangabe der einzelnen Blöcke, zusammen mit paar Prozent-Relationen:
https://abload.de/img/zen-2-area75k9t.jpg

Ansonsten gibt es als Grobüberblick noch dieses Bild:
matisse-annotation.jpg



PCGH bietet eine Blog-Funktion an, ich schaue mir das vermutlich mal an, wenn Zeit da ist.
 
Ich finde den artikel und das Video sehr interessant und aufschlussreich. Eine Fortsetztung des Formates wäre sehr erfreulich und lesenens-/sehenswert.
 
Gerne mehr zu diesem Thema.

Wünsche meiner Seits wären abseits des IO-Die, die Unterschiede zu Intel, wie sich der Aufbau der CPU verändert hat im Vergleich zu einer 15 Jahre alten CPU, wie die Planung und die eigentliche Herstellung einer CPU abläuft. Ist schon faszinierend wie winzig das ganze ist, und dann schmiert Intel ihre Zahnpasta drauf. ;-)
 
Ich erwähne das weiter unten auch, der L1I$ ist bei Zen2 nur noch halb so groß bezüglich der Kapazität, im Vergleich zu Zen1.
Es sind 32KiB für I$ und D$, bei Zen1 waren es noch 64KiB L1I$ und 32KiB L1D$.

Meh. Ich hatte mit Fehlern gerechnet. Aber das mir ein so peinlicher unterläuft, nicht. Der Artikel wurde um einen entsprechenden Hinweis und Verweis auf deine Interpretation ergänzt. :-)

Bezüglich des L1D würde ich mich dann dieser, auch von Casurin geäußerten anschließen. Das dürfte der Bereich sein, den ich ursprünglich der Sprungvorhersage zuordnen wollte. Und dass sich Load/Store wie bei Zen um die von dir mit "?" markierten Puffer(?) gruppiert, habe ich weiter oben auch schon geäußert.

Beim L1I bleibt es aber schwierig. Der von dir markierte Hals des "L" ist zwar günstig gelegen (zwischen L2 und möglicher Decodier-Logik), aber in 6 × 4 = 24 Blöcke unterteilt. Das geht nicht auf für 32 KiB. Was passen würde: Der Querbalken des L (32 Blöcke). Sprungvorhersage darunter würde wegen räumlicher Nähe sinn machen, dann bliebe der 4 × 4 Block links als µOP-Cache übrig.

Die Zeichnung ist relativ alt, ich habe noch keine Aktualisierte angefertigt, aber so grob sieht mein Bild aus:
Anhang anzeigen 1074506

Bezüglich der Bilderbeschriftung beim L3$, was dort als TLBs bezeichnet wird, sind Cache Tags.
Über/Unter der L3$-Kontrolleinheit befinden sich sehr wahrscheinlich die Shadow Tag Macros, wo Adressteile von jedem L2$ gespeichert werden, damit man bei einem lokalen L2$ miss effizienter herausfindet, ob irgendein anderer L2$ die nötigen Daten hat.
Also anstatt bei einem local miss die anderen L2-Caches direkt zu überprüfen, wird zuerst bei den STMs nachgeschaut, was dazu führt das man insgesamt viel weniger Druck auf die L2-Caches ausübt und laut AMD sparen sie dadurch auch viel elektrische Energie deswegen.

Tags sind doch (neben Werten) einer von den beiden logischen Inhalten eines TLBs. ;-)

PS: Was ich generell toll bei PCGH finde, ist das Ihr seit Jahren, als einer der wenigen Publikationen den binären Einheitenstandard wie Kibi, Mebi, etc. verwendet.

---------------------------

Wir hören nicht auf, Widerstand zu leisten!
Auch wenn zunehmend mehr Leser schon bei Temperaturdifferenzen in Kelvin irritiert sind. :-(
(Außerdem hat mir der Duden unter hinterhältiger Ausnutzung einer DIN-Norm die Kurzschreibweise "%" für "/100" zu einer Maßeinheit deklariert. Iiiiiigitt.)


Klasse Artikel, sehr informativ und interessant.
Gerne mehr davon.
Interessant fände ich einen direkten Vergleich zu Intel/monolitischem Aufbau

Da kann ich, mit dem Beispiel Zen 1, beim nächsten Video kurz drauf eingehen. Eigentlich ist dieser Teil aber auf Chip-Ebene sehr langweilig – Zen 2 hat mehrere Chips und IF-Links dazwischen, alle anderen haben die I/O-Einheiten um die Kerne verteilt. Fertig.


Gerne mehr zu diesem Thema.

Wünsche meiner Seits wären abseits des IO-Die, die Unterschiede zu Intel, wie sich der Aufbau der CPU verändert hat im Vergleich zu einer 15 Jahre alten CPU, wie die Planung und die eigentliche Herstellung einer CPU abläuft. Ist schon faszinierend wie winzig das ganze ist, und dann schmiert Intel ihre Zahnpasta drauf. ;-)

Zur Fertigung habe ich vor bald 9 Jahren mal eine gute Intel-Präsentation übersetzt. Auf dieser Ebene betrachtet hat sich bis heute nicht viel geändert. Nur was man da eigentlich ausbelichten möchte, das wird immer feiner:
https://www.pcgameshardware.de/Neue-Technologien-Thema-71240/Specials/Fertigungstechnik-1269641/
 
Deine Bemerkung am Anfang des zweiten Teils, hat mich erst zu diesem Video hier gebracht und ich bin echt froh darüber!
Gucke mir jetzt das zweite Video an. Bitte gerne mehr Videos von diesem Format!

PS: Ich weiß, der Kommentar kommt etwas verspätet. ;)
 
Also ich finde das ebenso interessant. Zen 4 wird größere TLBs bekommen. Also mehr Einträge bzw mehr Befehle wo es abbauen kann. Wie sich da am Ende die Leistung auswirkt, kann ich nicht sagen. Das Micro OP also im tieferen Schicht sich kaum geändert hat, wundert mich aber schon. Es zeigt also das dies garnicht krass geändert werden muss um Leistungsteigerung zu erlangen. Hier wurde also woanderst ne stellschraube gelockert. Also ist Micro OP oder auch µOP genannt garnicht das zugpferd der leistungssteigerung.
 
Zurück