Chiplet-Verteilung AMD Epyc Rome

rg88

Fleet Admiral
Registriert
Feb. 2015
Beiträge
35.064
Hallo zusammen,

ich hab mir gerade einen Artikel zur Anbindung der Rome-CPUs untereinander durchgelesen
https://www.servethehome.com/why-amd-epyc-rome-2p-will-have-128-160-pcie-gen4-lanes-and-a-bonus/

Ich frage mich gerade, wieso man die Chiplets so anordnet wie auf diesem Bild gezeigt:
770741

das deckt sich ja auch mit dem Sample, welches AMD bereits gezeigt hat.

770740


Hat jemand eine Idee oder Theorie, warum man die Chiplets nicht um 90Grad gedreht und sie in Reihe angeordnet hat?
Damit hätten dann doch alle die selbe Leitungslänge zum IO-Chip. So sind die 4 äußeren auf den ersten Blick potentiell leicht im Nachteil.

Das Trägermaterial ist ja mehrlagig. Die einzige Erklärung für diese Anordnung ist für mich, dass man auf diese Art, jeweils 4 Chiplets über Kreuz und untereinander verbinden kann, ohne, dass diese den Umweg über den IO-Die nehmen müssen.
Bei den ersten Epycs ists ja so:
770743

Hier sieht man, dass der Die links oben nach rechts unten einen Zwischenschritt braucht. Mehr wäre es doch durch den IO-Chip auch nicht, wenn man die Chiplets in Reihe platzert hätte bei Epyc. Ohne die 4 Chiplets per Kreuz zu verbinden, ergibt die Anordnung bei Rome doch eigentlich nicht viel Sinn, oder überseh ich da was?

Andere Bilder zeigen bei Epyc 1 schon eine Kreuzverbindung:
770744


Bin mal auf eure Theorien gespannt :)
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: evilhunter
Da können wir natürlich nur spekulieren....mir war das auch schon aufgefallen, aber ich könnte mir vorstellen, dass es auch um die Kühlung geht.

So wie sie jetzt sitzen, sind es im Grunde vier Hotspots wie bei den bisherigen Threadripper/Epyc Prozessoren.

Kann sein, dass bei zwei Reihen die mittleren Chiplets wärmer geworden wären und man hätte eventuell die Kühleranforderungen neu spezifizieren müssen...neue Kühler zulassen müssen usw.

Ich könnte mir vorstellen, das die Leiterbahnen der innenliegenden Chips einen Zick-Zack-Kurs machen, um auf die gleiche Signallaufzeit zu kommen....so wie man das bei Ram oder PCIe auch macht.
Ergänzung ()

rg88 schrieb:
Die einzige Erklärung für diese Anordnung ist für mich, dass man auf diese Art, jeweils 4 Chiplets über Kreuz und untereinander verbinden kann, ohne, dass diese den Umweg über den IO-Die nehmen müssen.
Wenn ich das richtig irgendwo gelesen habe, gibt es wohl keine direkte Verbindung, aber Gerüchte sagen, dass es für Matisse eine direkte geben soll.
 
Zuletzt bearbeitet:
Man weiß ja auch noch nicht wie die Chiplets ansich aufgebaut sind. Je nachdem wo der I/O Teil angebracht ist, ist diese Anordnung vielleicht die sinnvollste. Es ist ja das erste mal, dass die sowas designen und es war vielleicht auch der Zeit geschuldet, dass man die "einfachste" Anordnung ausgewählt hat ->Zen 3 könnte ja wieder etwas anders aussehen.

Es wird sich hoffentlich gegen Release aufklären.
 
evilhunter schrieb:
dass man die "einfachste" Anordnung ausgewählt hat
Das bezweifle ich. Ich gehe davon aus, dass die Entscheidung durchaus bewusst getroffen wurde und nicht weils "einfacher" war und man sowas noch nie gemacht hat :D Zumal "in Reihe" eigentlich die einfachste wäre mMn ;)
 
Neben den bereits erwähnten möglichen thermischen Nachteilen der beiden mittleren Chiplets bei der Anordnung in Reihe wäre acuh denkbar, dass diesen beiden weniger Rand/Seitenlinie in Richtung I/O-Chip oder Rand des Substrats bliebe. Damit wären weniger Leitungen in diese Richtung möglich oder es müsste eine bzw. mehrere zusätzliche Leiterschichten ergänzt werden.

Wahrscheinlicher halte ich allerdings interne Verwaltungsgründe: in der gewählten Anordnung könnten von I/O-Chip quasi zwei "Naples-Chips" angesteuert werden oder ein Epyc Rome gibt sich gegenüber dem Betriebssystem als Naples-Dualsocketssystem aus. Weniger Aufwand/Fehlerquellen für die Treiberprogrammierung.
 
  • Gefällt mir
Reaktionen: evilhunter und Baal Netbeck
Ich denke auch das es aus Wärmeentwicklungsgründen so gewählt wurde, beim derzeitige Threadripper haben sie ja auch die beiden DIEs die diagonal zueinader sind aktiviert, also die am weitesten voneinander entfernt sind.

Es gab ja auch schon Diskussionen das auch der IO Die halbiert für Threadripper und geviertelt für Ryzen werden kann und dann wäre diese Anordnung quasi vorgegeben. Und auch das Routing vom IO Die zum Sockel muss irgendwo untergebrachte werden. Und dort ist links und rechts viel Platz
 
Zuletzt bearbeitet: (Erweiterung)
@rg88

Mit einfachster Anordnung meinte ich genau diese Kreuzverbindung. Man will ja genau den Umweg über den I/O Chip vermeiden -> Kreuzverbindung. Und die ist in dieser Anordnung am einfachsten.
 
  • Gefällt mir
Reaktionen: Rock Lee und rg88
@evilhunter Achso meinst du das.
Das hat halt dann den Nachteil, dass man hier potentiell 4 Hops braucht von den jeweils äußersten Dies. Würde man alle direkt an den I/O anbinden wären es nur 2 im Worstcase in jedem Szenario. Und falls die Chiplets untereinander noch verbunden sind in Reihe, dann 1 Hop im Idealfall.
Deshalb verstehe ich ja die Anordnung nicht so ganz. (das Thema Temperatur mal aussen vor gelassen, also rein aus technischer Sicht)
 
War nicht auf irgendeiner der Folien in den letzen Monaten sowas wie : immer gleiche Latenz . Das würde gegen eine zusätzliche Kreuzverbindung sprechen.
 
  • Gefällt mir
Reaktionen: Baal Netbeck
Auf der Computex gibt es hoffentlich mehr Informationen zum Aufbau. Denke spätestens Anandtech wird den Aufbau iwann auseinandernehmen und die Antwort liefern.
 
770900


schau es dir mal genau an , man wird die CPUs so anordnen müssen weil sie so die kürzesten Datenleitungen von I/O Die zu I/O Die haben , die roten X16 Leitungen markieren die externen Links zu zb einen einen PCIe x16 4.0 Slot zudem könnte man die 8 Channel des IMC der linken CPU nach Links leiten , die der anderen nach rechts , so wie gezeigt ist wohl die sinnvollste Anordnung , Die blauen sind übrigens die CPU zu CPU Verbindungen
Hätte PCI 4 .0 nicht die doppelte Bandbreite wäre auch der vierte X16 link über den 3 blauen nötig um die beiden CPU s zu verkoppeln , so kann man darauf verzichten und pro Rome 16 Lanes auf einem Dual Sockel Board extern nutzen 128 + 16 +16 = 160 4.0 Lanes , das ist heftig bedenkt man das Intels glued together 56 Kerner nur 80 3.0 Lanes hat
Ausserdem bekommt wohl Rome noch eine Zusatz Lane spendiert um Kleinkram anzuschließen damit dafür keiner der X16 Links verwendet zu werden braucht

was die Chiplets betrifft hier mal ein etwas deutlicheres Bild vom Ryzen ES mit 8C wo das eine Chiplet fehlt
der schmalere Kontakt in der Mitte könnte der IF Kontakt sein , die dickeren 8 die Cores bzw deren Kontakt

770922


Beim Rome sollen die Chiplets untereinander keinen Kontakt haben sondern nur mit dem I/O Die verbunden sein , beim Ryzen 3xxx 12C/16C könnte ich mir jedoch eine Verbindung vorstellen
 
Zuletzt bearbeitet:
Also glaube nicht, dass die Chiplets alle miteinander verbunden sind, auch nicht alle auf einer Seite des I/O Chips. Die IF braucht eine Menge Strom:

IF Power EPYC_575px.png


(Quelle)

Es wäre unsinnig ganz viele Verbindungen zu ziehen um kurze Latenzen zu bekommen, dann aber wegen deren Leistungsaufnahme den Takt so weit senken zu müssen, dass die Performance am Ende doch schlechter ausfällt, also wird AMD da zwangsweise einen Kompromiss gemacht haben.

Und die Verbindungen brauchen viele Anschlüsse, aber die Chiplets sitzen ja nicht auf einem Interposer (der wäre in der Größe extrem teuer und dann hätte man die alle direkt neben dem I/O Chip platziert), daher ist die Anzahl möglicher Verbindungen also beschränkt. Wenn es bei Matisse eine direkte Verbindung zwischen zwei Chiplets geben sollte, so könnte ich mir vorstellen, dass es eben zwei Ports pro Chiplet gibt und dann wäre die Möglichkeit durchaus gegeben, dass bei Rome der I/O Chip nur an das erste Chiplet angebunden ist und über dies die Anbindung des zweiten erfolgt, welches ggf. noch direkt mit dem anderen äußeren Chiplet verbunden ist.

Es gibt ja auch bei den Intel 8 Sockel Systemen keine direkte Verbindung zwischen jedem der Sockel mit jedem anderen:
Multi_socket_interconntect_Skylake-SP.png
 
  • Gefällt mir
Reaktionen: evilhunter und Baal Netbeck
Holt schrieb:
und dann wäre die Möglichkeit durchaus gegeben, dass bei Rome der I/O Chip nur an das erste Chiplet angebunden ist und über dies die Anbindung des zweiten erfolgt, welches ggf. noch direkt mit dem anderen äußeren Chiplet verbunden ist.
Möglich ist das natürlich schon, ich bezweifle es aber.

AMD kann den Aufbau meiner Meinung nach nicht so kompliziert gestalten.
Dann sind die äußeren Chips mit einem Hopp mehr an den Ram angebunden und dafür reden die dann mit dem nebenliegenden äußeren Chiplet....das ist doch alles zu umständlich gestaltet und keine Programmierung wird das ordentlich unterstützen.

AMD wollte von ungleichen Ramlatenzen und NUMA mode weg, da halte ich es für unwahrscheinlich, dass sie so einen Weg einschlagen.

Aber interessant wäre es natürlich schon.
 
Baal Netbeck schrieb:
AMD wollte von ungleichen Ramlatenzen und NUMA mode weg,
Genau das war auch mein Gedanke und wenn es so wäre, dann würde man die doch eigentlich in Reihe verbauen. Alle Dice untereinander genau 2 Hops über den IO. Immer.
 
Baal Netbeck schrieb:
AMD kann den Aufbau meiner Meinung nach nicht so kompliziert gestalten.
kompliziert wäre es, wenn man versuchen würde jedes Chiplet mit jedem anderen zu verbinden, zusätzlich zu der Anbindung an den I/O Chip. Die Konstruktion nur das Chiplet nahe am I/O mit diesem zu verbinden und dann das andere daran, wären sogar sehr unkompliziert und spart auch lange Verbindungen auf der Platine des Prozessors.
Baal Netbeck schrieb:
Dann sind die äußeren Chips mit einem Hopp mehr an den Ram angebunden und dafür reden die dann mit dem nebenliegenden äußeren Chiplet....das ist doch alles zu umständlich gestaltet und keine Programmierung wird das ordentlich unterstützen.
NUMA Nodes wären es dann ja auch nicht, weil das RAM ja wohl über den I/O Chip angebunden ist und damit für jeden Kern eine bestimmte (Mindest-)Latenz vorhanden ist, egal auf welche RAM Adresse er zugreift, auch wenn diese nicht für alle Kerne identisch ist. Bei allen Kernen Identische Latenzen für die Anbindung des RAMs hat man bei eigentlich bei keiner Architektur, egal ob Ringbus oder Mesh, die Wege für die Daten sind für die einzelnen Kerne nie identisch lang.

Spätestens wenn mehrere Kerne auf das RAM zugreifen wollen, müssen die einen sowieso warten bis die Zugriffe der anderen beendet sind und bei 64 Kerner wird keine wirklich oft nur einen davon auslasten und damit wird es praktisch immer zwischen ihnen Konkurrenz um die RAM Zugriffe geben.
 
Holt schrieb:
Die Konstruktion nur das Chiplet nahe am I/O mit diesem zu verbinden und dann das andere daran, wären sogar sehr unkompliziert und spart auch lange Verbindungen auf der Platine des Prozessors.
Auf der Platine sollte meiner Meinung nach mehr als genug Platz sein, um die beide direkt anzubinden....ich sehe da keine Vorteile darin, über den einen Chip zum anderen zu springen.....der IF Hop dauert bestimmt länger als eine 1,5cm längere Leiterbahn am anderen Chiplet vorbei.

Aber ich finde uns fehlen da einfach zu viele Infos um sinnvoll zu spekulieren. :(
AMD wird sich das schon gut überlegt haben.....Rome ist ja das neue Zugpferd für AMD.

Matisse ist für mich viel interessanter....was macht die neue Ramunterstützung? Wie sind die Latenzen jetzt und wie handhabt AMD den L3 Cache?

Und wann sehen wir die 16 Kerne? gleich zu Anfang oder erst nächstes Jahr?
 
Baal Netbeck schrieb:
wann sehen wir die 16 Kerne? gleich zu Anfang oder erst nächstes Jahr?
Selbst die sonst nicht besonders glaubwürdigen Gerüchte die von AdoredTV geleakt wurden, sahen den 16 Kerner für April und damit ein Vierteljahr nach den übrigen, die den Gerüchte nach im Januar (zur CES) hätten erscheinen sollen. Es dürfte zuerst maximal 8 Kerne geben, vielleicht schon 12, sollte Intel seinen 10 Kerner für den Mainstreamsockel dann auch schon auf dem Markt haben. Ansonsten würde ich mit den 12 und 16 Kernern nicht vor dem Erscheinen der 3000er TR rechnen, da AMD sonst den aktuellen TR das Wasser abgraben würde.
 
8 und 12 würden wenig Sinn ergeben. Wenn 12 kommen, dann kommen auch 16 gleichzeitig. Ist ja intern das selbe Produkt
 
  • Gefällt mir
Reaktionen: evilhunter
Auch wenn der 12 Kerne dem 16 Kerner mit deaktivierten Kernen entspricht, so sollte man nicht vergessen, dass es nicht nur eine technische Frage ist, sondern auch eine des Marktes und da konkurrieren diese dann mit den Threadrippern. Bei der ersten Generation gab es schon die Kollision bei den 8 Kernern und ich denke nicht, dass AMD ein Interesse daran hat dem 2920X und dem 2950X intern derart Konkurrenz zu machen. Eine Überschneidung beim 12 Kerner könnte ich mir durchaus vorstellen, aber die 16 Kerne würde ich nicht erwarten bevor die nächsten TR da sind, denn die dürften nochmals mehr Kerne als die aktuellen haben.
 
Zurück
Oben