Irgendwie habe ich keinen passenderen Thread gefunden, also kommt es eben hier rein.
Der Release von Zen2 aka Rome/Matisse rückt immer näher. Auch wenn natürlich noch nicht alle Details bekannt sind, so ergibt sich doch ein relativ klares Bild. Maximale Kernzahl (Rome 64/Matisse 16), Anzahl der Chiplets etc. wurden gezeigt/geleakt und man brauch sich nur noch über Taktraten, Stromverbrauch und IPC den Kopf zerbrechen.
Wozu es bisher aber kaum Infos gab, ist Zen 3. Die Roadmaps zeigen lediglich, dass die 7nm+ (EUV)-Fertigung genutzt wird, sowie einen Releasezeitraum (Ende?) 2020.
Jetzt gab es in den letzten Tagen ein
AdoredTV-Video mit vermeidlichen Infoschnipseln und eigenen Spekulationen, an denen ich mich ebenso beteiligen möchte.
User, die beim Hören des Namens "AdoredTV" schon Schaum vorm Mund bekommen und eh alles diskreditieren, dürfen jetzt gerne aufhören zu lesen.
Starten möchte ich aber gerne mit den Infos des bekannten Insiders "Charlie", der bereits vor Monaten den Tod von Intels 10nm Fertigung vorausgesagt hat,was sich im Desktop-Bereich anhand der neuen Roadmaps von Intel als wahr herausgestellt hat.
Die Infos stammen aus einem Investors-Call bei dem Charlie interviewed wurde.
Das meiste davon betrifft zwar Rome und Intel, dennoch sehr interessant.
Die wichtigste Info ist, dass Milan
15 Chiplets haben soll.
Jetzt rufen wir uns nochmal das Rome package in Erinnerung. Dieses hat 9 Chiplets.
Wie soll das Ganze als mit 6 weiteren Chiplets aussehen? Ist damit das Package, oder das System gemeint?
Jim zerbricht sich in den folgenden Minuten im Video darüber den Kopf, grade weil seine Quellen bezüglich der maximalen Kernzahl unterschiedliche Aussagen tätigen. Die einen sagen 64 Kerne, die anderen 80 Kerne.
Am Ende kommt er durch die offiziellen Folien zum neuen Frontier-Super Computer zu folgendem Ergebnis:
(10 * 8C CPU Chiplets + 4 GPU Chiplets + 7nm IO-Chiplet = 80 Kerne & 15 Chiplets )
Klingt erstmal logisch. Er erwähnt außerdem 2*HBM 2 Chips, die aber nicht zählen, weil es Chips aber keine Chiplets sind(!?). Aber so platzsparend ist die 7nm+-Fertigung dann doch nicht:
Das IO-Die skaliert kaum mit der neuen Fertigung, so dass vielleicht 2 weitere 8C-Chiplets aber auf keinen Fall noch weitere GPU-Chiplets auf das Package passen. Auf den Folien wird von "Radeon Instinct GPUs" gesprochen.
Ich gehe daher davon aus, dass es sich um vollwertige GPUs und nicht um Chiplets handelt, evtl. auf einem Custom Board direkt verlötet und deshalb verbunden durch die Infinity Fabric.
So und nun zu meiner Analyse
Beginnen wir mal mit einem Bezahlartikel, deren Inhalt ich nicht kenne, aber durch die Überschrift dennoch Hinweise gibt:
https://semiaccurate.com/2019/04/15/amd-to-differentiate-cores/
- AMD to differentiate cores
- it looks like AMD is going to split up their CPU designs once again
Zum einen wird davon geredet, dass AMD ihre CPU Design weiter aufspaltet.
Die Folien des Frontier Supercomputers geben durch ihr Wording bereits einen Hinweis darauf.
- Custom coherent fabric
- Custom AMD Epyc processor optimized for HPCa and AI
Zum anderen wird eben von einer "Differenzierung der Kerne" gesprochen. Damit verstehe ich CPU-Kerne.
Sieht man sich so ein 8-Kerne Rome-Chiplet einmal an, so sind alle Kerne homogen. Sie unterscheiden sich in ihren Spezifikationen nicht.
Wir sind mittlerweile in der Lage durch immer kleinere Fertigungstechniken 64 Kerne auf einem Package unterzubringen. Dies hat für hochparallele Anwendungen große Vorteile.
Mit Matisse erleben wir wohl 16 Kerne im Mainstream-Desktop. Wer hätte das vor 3 Jahren erwartet?
Nun ist es aber in Spielen, aber auch vielen Anwendungen der Fall, dass nicht alle Kerne genutzt werden können. Viele Benchmarks zeigen auch, dass ein 8700k schneller ist als ein 2700k, aber der 9900k von seinen 8 Kernen trotzdem in diesem Spiel profitiert und noch schneller ist als der 8700k? Woran liegt das?
Viele Spiele hängen sehr stark von Hauptthread ab, der besonders viel Singlecore-Leistung benötigt, die Intel eben durch den höheren Takt bietet.
Mehr Kerne bringen zwar ebenfalls mehr Leistung, aber eben nicht so viel wie durch die schwächere Singlecore-Leistung im Hauptthread verloren geht.
Zu Zeiten von Singlecore-Prozessoren lief es immer nach dem gleichen Schema-> Bessere Fertigung= mehr Taktpotential = mehr Platz für IPC-Erhöhungen im Sinne von Cache oder den Memory-Controller in das CPU-Die zu holen. Nur der Aufwand, um die IPC zu erhöhen, wurde mit der Zeit immer schwieriger oder aber flächenhungriger, so dass man erst Hyperthreading brachte und es dann mehr Sinn gemacht hat einen Dualcore zu fertigen mit Beispielsweise 2*2Ghz als einen Singlecore mit 1*3Ghz.
Die zunehmende Parallelisierung machte erst Singlecores und dann Dualcores nahezu überflüssig.
Aber es gibt eben auch hier Grenzen.
Wozu einen teuren 16-Kern Prozessor kaufen, wenn es auch der 6-Kerner für 150 Euro genauso gut tut? Die Kerne sind grundsätzlich die Gleichen.
Zen2 erhöht für eine bessere IPC zB auch den L3-Cache.
Könnte man mit 7nm+ und Zen3 doch auch machen?
Nun ja, 7nm+ bringt nur einen Flächenvorteil von 15% und wozu in allen Kernen den Cache erhöhen, wenn wie gesagt nicht viele Programme davon profitieren. Warum also nicht auf die Holzhammermethode verzichten und das Problem punktuell angehen?
Meine pure Spekulation daher:
Ein 5-Kerne CCX!
Dem ganz normalen CCX wird ein sogenannter "
Prime Core", wir könnten ihn auch einfach "
Zen X"
nennen, hinzugefügt. Dieses ist ein
high-clock, high-IPC Kern, welcher dies durch großen Platzbedarf auf dem Chip erreicht und den Flächenvorteil der 7nm+Fertigung mehr als zunichte macht.
Ich könnte mir vorstellen, dass dieser Kern auf jeden Fall SMT-4 spendiert bekommt. Denn je größer die einzelne Kernleistung, desto größer profitiert man prozentual gesehen auch durch SMT.
Die Kerne im CCX wären untereinander durch die Infinity Fabric verbunden und innerhalb eines Chiplets nochmal zwischen den Prime-Cores, was insgesamt 10 Kerne (2+8) innerhalb eines Chiplets ergibt.
Wenn wir bei einem
Desktop-Package wie Matisse jetzt davon ausgehen, dass die Chiplets miteinander verbunden sind, würde ich sagen, dass nur die Prime-Cores jeweils untereinander verbunden sind und 4 "normale" Kerne jeweils mit den Prime-Cores.
Man hätte also insgesamt 20 (16+4) Kerne, die durch die Infinity Fabric so verbunden sind, dass egal aus welcher Betrachtungsweise eine Kommunikation zwischen 2 Kernen maximal über zwei zusätzliche Stationen läuft. Eine Chiplet-zu-Chiplet-Verbindung soll es ja schon bei Matisse geben.
Jetzt habe ich mir sowas wie "Prime Cores" nicht völlig aus den Fingern gesaugt.
Bei den Smartphone CPUs gibt es schon schon länger.
Siehe Kryo 485, dessen Pime Core höher taktet und doppelt soviel Cache besitzt.
Wenn wir nun wieder das Gerücht von 80 Kernen bei Milan aufgreifen, so brauchen wir nicht mal das Chiplet-Layout von Rome verändern: Im Gegensatz zu AdoredTVs These könnte es nicht 10*8C Chiplets sondern 8*10C-Chiplets geben. Bleiben wir mal bei der Rechnung von AdoredTV mit dem Frontier Supercomputer und nehmen das IO-Die und 4 GPUs dazu, dann haben wir 13, statt 15 Chips. Aber im Gegensatz zu AdoredTV könnte man die 2 HBM2-Chips dazurechnen und schon ist man bei 15.
Man kann sich also alles schönrechnen
Was mit den Quellen ist, die von 64 Kernen sprechen? Vielleicht braucht es für hochparallele Anwendungen keine Prime Cores und es gibt unterschiedliche Milan-Designs? Das ist in der Tat ein Widerspruch.
Ich wollte mit diesem Beispiel nur eine Möglichkeit aufzeigen, wie man aktuelle Trends in der Halbleiterbranche miteinander verknüpfen kann, um seine Stärken (Parallelisierung) auszubauen und gleichzeitig an seinen Schwächen (Singlethreadleistung in wenig parallelisierten Anwendungen) arbeitet. Ich habe keine Quellen und spekuliere nur. "Grain of salt" und so
Tl;dr: Unterschiedliche Kerne für unterschiedliche Anwendungen.