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".
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.