Nach längerem Nachdenken warum ich mich geirrt habe, kommt auch ins Spiel, dass ich nie hinterfragt habe ob das was High Yield als TSVs identifiziert hatte, wirklich TSVs sind. Die Strukturen waren anders.
Wenn man sicher ist, dass im CCD weiterhin die TSVs sind, dann ist auch klar, dass CCD unten sein muss. Eine falsche Annahme kann eine ganze Argumentationskette wertlos machen.
Und nicht zu beachten, dass die Überlappung von Kern Cache ein Gamechanger ist, war wie gesagt der zweite Fehler. Hans de Fries hatte gesagt, da wäre praktisch nur SRAM. Ich habe mir extra den annotierten Die Shot des CCD angesehen, es waren bestenfalls 50 % SRAM und direkt neben den Strukturen sind die Integer Execution Units. Also eigentlich, ...
CDLABSRadonP... schrieb:
Bzgl. Nachfragen:
- Hältst Du es für möglich, dass der Raum neben dem Cache noch eine weitere Funktion zufällt, nämlich der, die V-Caches zweier CCDs miteinander zu verbinden? Also so, dass der V-Cache von CCD0 durch CCD1 als H-Cache verwendet werden kann, ohne Umweg über das IO-DIE... (habe da persönlich Zweifel bzgl. des Packagings)
Du stellst sehr viele Fragen auf einmal. Und die Antworten ergeben nur mit Kontext einen Sinn
Also fangen wir Mal damit an wie Ryzen und Epyc aufgebaut sind.
Anmerkung: Ich bin Laie und alles was ich hier wiedergebe, basiert auf meinem Verständnis der Unterlagen die ich im Web gefunden habe, auf Artikeln, auf Präsentationen und auf Fachbüchern. Das ist zwar meine tägliche Arbeit in anderen Fachgebieten, aber auf Arbeit sind die Unterlagen vollständiger und ich kann die Ingenieure selbst fragen.
Wenn etwas unklar ist, bitte fragen.
Einleitung
Warum wurde bei EPYC Substrat gewählt
Ryzen und Epyc bestehen aus aus einem IOD und CCDs. Verbunden werden IOD und CCDs über das Substrat. Das ist klassische Technik und schlechter als die Advanced Packaging Optionen.
Sam Naffiziger hat 2021 in seinem Vortag beim 48th Annual International Symposium on Computer Architecture (ISCA) begründet warum AMD bei Zen 2 die Lösung das "schlechte" Substrat gewählt hat.
- Die IF-Links über das Substrat hatten bei Zen 2 eine Bandbreite von 55 GB/s, was einerseits vollkommen ausreichend für die CPU ist andererseits mit dem Substrat ohne Probleme bewältigt werden kann.
- Silizium Interposer und Silizium Brücken bieten eine enorme Edge-to-Edge Bandbreite.
- Die 665 GByte/s die ein HBM Stack der MI300 liefert, können momentan nur durch Silizium Interposer oder Silitium Brücken beherrscht werden.
- Aber die Signale von Silizium Interposer und Silizium Brücken haben eine geringe Reichweite. Sam Naffziger über Zen 2 "Die Einschränkung der Edge-to-Edge-Fähigkeit würde die Architektur auf nur vier CCDs*) beschränken, wodurch das Produktkonzept weit weniger überzeugend wäre"
- Silizium Interposer sind zu teuer.
*) Sam Naffziger nennt als Gründe gegen CCD mit 16 Kerne: Geringere Ausbeute und weniger Konfigurationen. Die CCDs mit 8 Kernen waren für Ryzen notwenig. Und AMD hatte was die Kerne angeht schon weiter geplant.
Aus dem Konferenzband das Blockdiagramm des IOD von Rome (Zen 2) mit den Latenzen für den Speicherzugriff eines CCDs:
Die 8 hellblauen Kästen sind die IF-Links zu den einzelnen CCD. Alles ist am Ringbus angeschlossen. Und so läuft der ganze Datenverkehr eines CCD über diesen Ringbus, mit anderen CCDs, Memory Controllern oder IO (hauptsächlich PCIe)
Durch den Ringbus im IOD haben alle CCD einen vergleichbaren Zugang zu den Memory Controllern und der IO. Auf der anderen Seite muss die Bandbreite des Ringbusses einsprechend groß sein um die Leistung nicht zu begrenzen.
Kurzer Vergleich mit MI300
Aggregate bedeutet die Werte beziehen sich auf die gesamte MI300 und nicht nur das gezeigte Viertel mit IOD, 2 XCD und 2 HBM Stacks. Natürlich sind das die Maximalwerte.
Zum Vergleich die maximale Speicherbandbreite von Turin über alle 12 DDR5 Kanäle mit DDR5-6000 beträgt 576 GB/s
MI300 Architecture Briefing, das nächste Bild ebenso
Der Aufwand im Vergleich
Wenn man sich die MI300 anschaut, dann sieht man, dass die 4 IODs unmittelbar nebeneinander liegen und dasselbe gilt für die HBM Stacks. Die Hohe Bandbreite der HBM impliziert dass auch die IODs mit hoher Bandbreite gekoppelt werden müssen.
Die geringe Bandbreite der Kopplung über Fanout bei der MI250X verursacht, dass die MI250X aus 2 logischen GPUs besteht.
Den Aufwand den AMD bei der MI300 betreibt um diese Bandbreite zu ermöglchen ist enorm:
Auf der linken Seite ist ein Schnitt durch die MI300 zu sehen.
Ein paar Anmerkungen:
- Sowohl Dies und Silizium Interposer sind aus Silizium und haben somit denselben Wärmneausdehnungskoeffizienten. Also ist diese Kombination ideal.
- Problematisch ist bei Silizium Interposer die Verbindung zum Substrat. Kunststoff und Silizium abweichende Wärmeausdehungskoeffizieneten. Durch die Größe die die Interposer inzwischen erreicht haben, könne beträchtliche Spannungen entstehen.
- Je dicker man den Interposer macht, desto aufwändiger, wird als Anlegen der TSVs.
- Die kleineren Kontakte erfordern bei der Montage eine hohe Präzession. Damit steigt der Aufwand.
EYPC ist bisher klassisches Flip-Chip auf einem Substrat. John Lau, "Recent Advances and Trends in Advanced Packaging":
Hier dargestellt mit einem Chip, bei Ryzen sind es bis zu 3 und bei Eypc bis zu 17 Dies auf dem Substrat. Natürlich ist es mit 3D-VCache komplexer, aber das lässt sich AMD auch zusätzlich bezahlen.
Man sieht die MI300 ist erheblich aufwändiger als es bisher EPYC ist. Was sich in zusätzlichen Komponenten und vor allem in zusätzlichen Prozessschritten äußert. Bei jedem einzelnen dieser Schritte kann etwas schiefgehen.
Bei der letzten Quartalskonferenz hat AMD gesagt, dass die MI300 unterdurchschnittliche Margen bringt.
1. Teilfrage: Koppeln zweier CCDs über den V-Cache
IMO ergibt das direkte Koppeln von zwei CCDs bei EPYC und Ryzen über den Cache Die keinen Sinn, solange man einen zentralen IOD hat.
Aber selbst wenn man den zentralen IOD auflöst wäre die Kopplung direkt über ein IOD die viel sinnvollere Lösung. Bei Ryzen könnte man alles bei einem IOD belassen. Bei EPYC müsste man die zusätzlich die IOD koppeln.
Falls AMD den zentralen IOD auflöst, ergäbe sich IMO eine vollkommen neue Architektur. Eine Lösung wie bei der MI300 wäre sehr aufwändig und teuer. Macht AMD so etwas tatsächlich bei EPYC?
Man ändert gewöhnlich aus zwei Gründen
- Entweder stößt das bisherige Konzept an die Grenzen und kann nicht weiter skalieren, z. B. mehr Chiplet oder den Ringbus aufweiten
- Oder andere Konzepte versprechen eine bessere Performance, ...
Zen 6
Zen 6 wird gewaltige Änderungen bringen.
- MLID erzählt, dass AMD bei EPYC auf einen modularen IOD wechselt. Schauen wir Mal.
- AMD soll auch bei Ryzen und EPYC auf eine Lösung mit Advanced Packaging wechseln.
- dazu gibt es viele Quellen, also ist es relativ sicher
- Über die gewählte Technologie gibt es noch keine Aussage sondern nur Spekulationen.
- Im Rennen sind:
- Silizium Interposer
- Silizium Brücken
- Fanout, organisches Substrat mit Dünnschicht Technik
- Glas Interposer
- Es wird CCDs mit mehr Kernen geben.
- Das bedeutet, dass die CCDs mit einer höheren Bandbreite angeschlossen werden müssen.
- Aber sind die CCDs wirklich der Grund aus dem AMD vom Substrat auf eine Advanced Packaging Lösung wechselt?
Ich erwarte eher dass sich am Katalog der Chiplets etwas ändert. Montan ist er bei Zen 5 erschreckend klein:
- Zen 5 classic CCD mit 8 Kernen
- Cache Chiplet für Zen 5 classic CCD
- Zen 5 dense CCD mit 16 Kernen
- server IOD neu um 16 CCD anschließen zu können
- client IOD (wurde von Zen 4 übernommen)
Was könnte hinzukommen? Mal wild geraten
- XDNA Chiplet
- SmartNIC Chiplet
- Co-Packed Optics
Strix Halo als Vorgeschmack auf Zen 6
Es gibt das Gerücht, dass Strix Halo auf Advanced Packaging setzt.
Allein aus diesem Grund könnte Strix Halo sehr interssant sein.
2. Teilfrage: Den Raum neben dem Cache Chiplet für Schaltungen nutzen
AMD kann keine
essentielle Funktionen des CCDs auf ein
optionales Cache Chiplet verlagern. Deshalb fällt es AMD bei einem optionalen Cache Chiplet schwer, diesen Raum zu nutzen. AMD würde die dort umgesetzten Funktionen an das Cache Chiplet binden.
Sobald Hybrid Bonding so kostengünstig wird, dass es als Standardlösung für Ryzen und EPYC taugt, wird AMD den Aufbau des bisherigen Chiplets überdenken.
Optionen sind, wieder wild geraten:
- PHY und Logik der IF-Links auf das Cache Chiplet
- L3-cache komplett auf das Cache Chiplet.
- Kern neu ordnen, so dass Logik auf dem CCD ist und SRAM auf dem Cache Chiplet ist.
Natürlich hängt die Frage, wann es sich lohnt auch davon, ab wie viel Funktion vom Chiplet im teuren Node auf das Chiplet im billigen Node verschoben werden kann.
CDLABSRadonP... schrieb:
- Bzgl. Wafer-On-Wafer: Ist dort nicht der Hauptgedanke der, dass man die Yields durch Flächenreduktion massiv erhöht?
Mehrere kleine Dies anstatt einem großen Die zu verwenden, und damit einen höheren Yield zu erreichen, ist ein Grundkonzept, warum es sich überhaupt lohnt Chiplets zu machen.
Dies illustriert eine Folie von AMD zu diesem Thema (Cross-Disciplinary Innovations Required for the Future of Computing", Sam Naffziger, AMD, SkyTalk, DAC 2021 ):
Der zweite dargestellte Vorteil ist, dass man die zusammen passende Chiplets (rot) kombinieren um SoCs mit besonderer Charaktersitik (4 x rot) herzustellen.
Wafer on Wafer bezieht sich nur auf den
Hybrid Bonding Prozess:
Bei diesem Prozess hat man keine Kontrolle über die Güte der einzelnen Dies, so dass die Ausbeute der beiden Wafer voll in die Gesamtausbeute eingeht. Außerdem entfällt die Option zusammen passende Die zu verbinden
Aber dies ist trotzdem sehr interessant. Mit Zen 5 könnte man in einem Schritt mehr als 800 CCD gleichzeitig auf den 3D V-Cache setzen.
CDLABSRadonP... schrieb:
- Also jetzt ganz simpel gesprochen: Man bekommt es hin, so viel aus dem Einzeldie rauszuschmeißen, dass die Fläche einer einzigen Ebene einen Perfektions-Yield von 99% hat, dann liegt der Gesamtyield selbst bei zehn Ebenen übereinander immer noch bei ~90,043%.
Rauschmeissen geht nicht da man die Funktionen benötigt. Die Funktionen werden auf mehrere Dies verteilt. Dadurch werden die Dies kleiner und dadurch steigt der Yield. Aber das verkleinern hat Grenzen:
- Mit zu vielen Dies steigt der Integrationsaufwand stark an.
- AMD versucht mit den CCD im Bereich von 70 bis 80 mm² zu bleiben. Warum hat AMD erst bei Zen 5 den L3 Cache kompakter gemacht und damit totes Silizium elimiert? Hat AMD die Fläche zum Kühlen gebraucht?
99 % Yield ist allenfalls mit Chips von ca 5 mm² möglich. Das Zen 5 CCD oder der Cache Die liegen so bei 93 % bis 95 %.
10 Layer mit Logik ist aus thermischen Gründen wohl noch eine Weile nicht möglich.
CDLABSRadonP... schrieb:
- Und das ist dann bloß der Yield für einen perfekten Chipstapel, zusätzlich erhält man ja auch noch die Stapel mit einer Imperfektion auf einer der zehn Ebenen, mit zwei Imperfektionen, ... (die man oftmals immer noch binnen könnte)
Das Problem ist, das die Fehlern beim Stacking sich stärker auswirken, weil sie ja Powerzufuhr oder Kommunikation von zwei Ebenen betreffem.
Deshalb gibt es auch Bestrebungen hier Redundanzen einzubauen.
Aktive Brücken Dies/ Active Interconncet Dies
Wenn man sas Cache Chip verwendet zwei CCDs zu verbinden, dann dient das Cache Chiplet als aktives Brücken Die.
Zu Aktiven Brücken Dies hat sich AMD einige Gedanken gemacht und dazu mehrere Patente eingereicht. Üblicher Weise hat AMD explizit Hybrid Bonding als Verbindungstechnik genannt.
Beispiel: US 2022/0051985 A1 CREATING INTERCONNECTS BETWEEN DIES USING A CROSS -OVER DIE AND THROUGH - DIE VIAS
Daraus die erste beiden Bilder
Das Beispiel hat 2 Base Dies und 3 Interconnect (Bücken Dies). Die Brückendies on Top ergeben eigentlcih nur einen Sinn, wenn sie aktive sind.
Diese Darstellung im Schnitt zeigt einen SoC mit 2 Brücken Dies und 3 Base Dies.
Als ich das Patent zum ersten Mal gesehen habe, war ich sehr begeistert. Ich dachte es wäre eine Option eine Multi Chiplet GPU mit die über den L3 Cache gekoppelt ist zu bauen.
Allerdings so cool wie das ganze aussieht es ist mit Hybrid Bonding nicht so einfach zusammensetzen wie Lego Steine. Die große Stärke von Hybrid Bonding der feine Pitch erzwingt auch eine hohe Präzession bei der Platzierung der Dies.
Die Base Dies müssen exakt auf einen Carrier Wafer ausgerichtet werden und fixiert werden. Dann müssen die Brücken Dies exakt auf den Base Dies plaziert werden. Wenn bei diesem gebilde eine winzige Verschiebung eines Dies ergibt, ...
Als die MI300 kam wusste ich wie die Multi Chiplet GPU, die über den L3 Cache gekoppelt ist, gebaut wird. Hier ist die Brücke (IOD) unten und so groß, dass beide XCDs auf das IOD passen.
Will sagen, die Idee mit der Brücke hat AMD umgesetzt, aber ganz anders als in diesem Patentantrag beschrieben. Inspfern zeigen Patentanträhe und Patente über was ein Unternehmen nachdenkt. Aber eben nicht was tatsächlich umgesetzt wird. Das weiß man erst hinterher.
Der Vorteil beim tatsächlichen Viorgehen ist, dass jeder Stack getestet werden kann, bevor die Know Good Stacks auf dem Silizium Interposer platziert werden.
Zwar ist der Pitch beim Interposer höher als bei Hybrid Bonding, Aber das Platzieren der Stacks auf dem Interposer ist nicht trivial.
Die zweite Überraschung bei der MI300 war für mich dass AMD das erst mit der MI250X eingeführte Elevated Fanout Bridge Verfahren wieder aufgegeben hat.
Ich denke die Antwort ist hier, dass die Montage der Stacks auf eine starren Interposer einfacher ist als mehr als 16 Silizium Brücken*, 8 HBM Stack und 4 Logik Stacks zu verbinden. Mit Silizium Brücken sind mehr Prozessschritte erforderlich als bei einem Interposer.
*) Annahme je 2 Silizium Brücken zwischen den Logic Stacks, mit jeweils einem wären es ingesamt 12
und noch Mal die Größe der Silizium Brücken an einem Beispiel:
Hot Chip 33, Advanced Packaging Tutorial, Abschlussvortrag von Techsight International
Und AMD hatte nicht vor so etwas komplexes wie Ponte Vecchio oder Sapphire Rapids zu machen:
Unten rechts zeigt der Schnitt die Platzierung der Silizium Brücke (EMIB).
Bitte beachten, sowohl der Base Die als auch der HBM Stack sind nur Teilweise abgedeckt
Betrachtet man die ganze Fläche, dann nehmen die 11 Siliziumbrücken nur einen sehr kleinen Teil der Fläche ein. Sie überbrücken den Spalt zwischen den Dies und überdecken die Dies jeweils nur so weit wie sie es für die Kontakte benötigen.
Damit bleibt unter den Dies genügend Raum um die Dies mit dem Substrat zu verbinden. Deshalb benötigen die Silizium Brücken im Gegensatz zu den Silizium Interposern keine TSVs. Und da sie so klein sind, ist kein Platz für zusätzliche Logik.
Wenn man sie größer macht um Logik zu platzieren, blockieren sie mehr Raum unter die Dies.
Beide Folien: Hot Chip 33, Advanced Packaging Tutorial, Aus dem Doppelvortrag von Intel
Zen 6, Zen7
Habe ich schon gesagt, dass Zen 6 interessant wird? bei Zen 7 ist es nicht anders.