AMD Zen 2 und Rome – was wir bisher wissen
Die kommende CPU-Architektur Zen 2 wird AMD zuerst im für 2019 geplanten Server-Prozessor Epyc “Rome” einführen. Das macht Sinn, da die Server-Plattform den Zwischenschritt “Zen+” übersprungen hat, der uns 2018 die in vielen Details verbesserten Ryzen 2000 CPUs beschert hat. Kürzlich hatte AMD ja, wie berichtet, offizielle Informationen zu Rome veröffentlicht, allerdings auch viele Details ausgespart. In der Zwischenzeit sind in der Gerüchteküche jedoch einige Infoschnipsel dazugekommen, die wir nicht unerwähnt lassen wollen.
Zen 2 und Rome – was AMD bisher offiziell verraten hat
Auf der in San Francisco abgehaltenen “Next Horizon” Präsentation hat AMD den Vorhang gelüftet. Der Server-Prozessor Epyc “Rome” im Speziellen wird wie schon der aktuelle Naples ein Multi-Chip-Design werden. Allerdings geht AMD bei Rome noch einen Schritt weiter und realisiert die CPU nicht mit identischen Dies, sondern trennt Recheneinheiten und I/O. So wird Rome aus bis zu 8 Compute-Chiplets bestehen, die je 8 Kerne aufweisen, sowie aus einem I/O‑Chip.
Während die eigentlichen Rechen-Chiplets in 7 nm bei TSMC gefertigt werden, kommt der I/O‑Chip nach wie vor in 14 nm daher. Der Sinn dahinter ist, dass viele Komponenten im I/O‑Bereich nicht so sehr von der Schrumpfung der Fertigung profitieren und daher besser im günstigeren 14-nm-Verfahren produziert werden können. Zudem wird AMD sicherlich nach wie vor Abnahmeverträge mit seiner ehemaligen hauseigenen Fab (jetzt GlobalFoundries) haben, die auf diese Weise erfüllt werden können, obwohl die eigentlichen Zen-2-Dies bei TSMC in 7 nm produziert werden. Kommuniziert wurde auch, dass AMD mit Rome PCI-Express 4.0 einführen wird (sofern das Mainboard es unterstützt), es bei acht Speicherkanälen bleibt (DDR4 logischerweise, da DDR5 noch nicht eingeführt wurde) und die zweite Generation der sogenannten Infinity Fabric zum Einsatz kommt, also der Kommunikationspfad zwischen den einzelnen Kernen, die sich nicht im selben Segment befinden.
Auch zur Zen-2-Architektur als solcher wurden Details genannt, wie etwa die verbesserte Execution Pipeline, die verbesserte Sprungvorhersage samt Prefetching, der optimierte Befehlscache, ein größerer Op-Cache und – ganz wichtig – die doppelt so breite FPU, die nun 256 Bit in einem Rutsch verarbeiten kann statt zwei Mal 128 Bit nacheinander. Dazu wurde auch die Load-/Store-Bandbreite verdoppelt. Zudem hat AMD versprochen, dass Gegenmaßnahmen zu den Sicherheitsproblemen der Spectre-Familie per Hardware getroffen wurden.
Die ersten Mainboards für Rome
Interessanterweise hat AMD auf der “Next Horizon”-Präsentation nicht explizit den Sockel SP3 erwähnt. Zur Markteinführung des Naples hatte AMD allerdings betont, dass der Sockel SP3 über Jahre die designierte Server-Plattform bleiben wird. Damit dürften auch CPU-Upgrades per Drop-In-Replacement möglich sein, sofern Mainboard-Hersteller ihre Naples-Platinen per BIOS-Update fit für Rome machen. In der Zwischenzeit hat Gigabyte ein Mainboard für Rome gezeigt, das neben der Beschriftung “PCIe Gen 4” auch explizit “SP3” als Sockel eingraviert hat.
Der Die-Aufbau und die Caches
Offiziell sagt AMD bisher nichts dazu, aber bereits vor über einem Jahr ging das Gerücht um, dass AMD bei Rome die Kernanzahl verdoppeln und die L3-Cachegröße vervierfachen wird. Die Verdoppelung der Kernanzahl ist tatsächlich so eingetreten, sodass die Gerüchte zur vierfachen Cachegröße (bzw. Verdoppelung je Kern) nicht auszuschließen sind.
Vergangene Woche ist ein Eintrag in der SiSoftware-Datenbank aufgetaucht (inzwischen wieder verschwunden), der von einem Rome Engineering-Sample stammen soll.
Das Engineering-Sample mit der Bezeichnung 2S1404E2VJUG5_20/14_N soll 64 Kerne aufweisen, die mit 1,4 GHz getaktet sind. Das wäre selbst für ein Engineering-Sample recht wenig. Allerdings kann natürlich sein, dass AMD angesichts der überbordenden Anzahl an Kernen den Basistakt betont niedrig ansetzt um innerhalb der für SP3 üblichen TDP zu bleiben, und dann bei den finalen Samples den Rest per Turbo erledigt. Das ist auch bei unserem Naples im Planet 3DNow! Webserver so. Der hat einen Basistakt von nur 2,4 GHz, läuft aber praktisch durchgehend im Turbomodus um 2,8 GHz herum, selbst dann, wenn man künstlich alle Kerne belastet.
Interessanter als der Takt, der sich natürlich noch ändern kann und wird bei den finalen Produkten, ist die Angabe zum Cache: 16x 16 MB L3-Cache steht dort. Zum einen wären das 256 MB und damit wirklich viermal so viel wie bei Naples, wo maximal 64 MB L3-Cache bereitstehen. Zum anderen sagt auch die Angabe “16x” einiges über den Chipaufbau aus, sofern Sandra die Architektur korrekt ausgelesen hat. Da AMD bereits kommuniziert hat, dass Rome aus acht Zen-2-Dies bestehen wird, würde der Umstand, dass der L3-Cache aus 16 Segmenten besteht, darauf hindeuten, dass jedes Zen-2-Die – so wie bei Zen 1 – aus zwei CCX bestehen wird. Also kein homogenes 8‑Kern-Die mit gleichen Zugriffszeiten für alle Kerne, sondern weiterhin zwei CCX mit je 4 Kernen, die via Infinity Fabric zusammengeschaltet sind. Nur, dass jeder CCX dann 16 MB L3-Cache haben wird statt nur 8 MB wie bei Zen 1.
Was steckt im I/O‑Die?
Wie erwähnt hat AMD die für I/O zuständigen Komponenten bei Rome in einen eigenen Chip ausgelagert. I/O wird bedeuten: Memory-Controller, PCI-Express Controller, aber bei einem SoC wie Epyc auch SATA-Controller, USB-Controller, eventuell auch Netzwerk-MACs oder ganze Netzwerk-Controller. Das wurde aber noch nicht verraten.
Und trotzdem. Sieht man sich das Die auf den gezeigten Fotos an, dann ist der Chip nur dafür zu groß; erheblich zu groß. Der Großteil eines herkömmlichen Dies wird ohnehin vom Cache belegt. Das sind die auf Dieshots gleichformig erscheinenden Bereiche, in denen die SRAM-Zellen für die Caches liegen. Unterstellt man, dass auch bei Zen 2 die L3-Caches möglichst nahe bei den Kernen (also in den Chiplets) platziert werden, weshalb ist dann der I/O‑Chip so riesig? Dazu schweigt sich AMD leider noch völlig aus.
Denkbar wäre, dass AMD zusätzlich zu den L3-Caches, den jedes der 8 Chiplets besitzt, noch eine weitere Cachestufe vorgesehen hat, demnach einen L4-Cache, der dann im I/O‑Chip stecken könnte. Quasi wie früher bei den Sockel-7-Board, wo zusätzlich zu den On-Die-Caches noch ein Cache auf dem Mainboard platziert war; hier dann eben nicht auf dem Mainboard, sondern auf dem Chipträger. Doch ist das wahrscheinlich? Bei einem Prozessor, dessen L3-Cache ohnehin schon vervierfacht wurde? Zudem hat Sandra keinen L4-Cache ausgelesen (was aber nichts heißen muss, da Sandra sicherlich noch keine Rome-Unterstützung hatte).
Ebenfalls denkbar wäre, dass der L3-Cache nicht mehr in den Chiplets steckt, sondern im I/O‑Chip platziert wurde. Dann würde dessen Größe angesichts von 256 MB L3-Cache passen und AMD kann sie ja in Slices a 16 MB organisiert haben. Aber müssten dann nicht die Chiplets wesentlich kleiner sein, wenn sich dort kein großer L3-Cache mehr befindet? Eigentlich schon. Allerdings muss bedacht werden, dass AMD die FPU von 128 auf 256 Bit aufgebohrt hat. Man erinnere sich an die Umstellung von K8 auf K10, als AMD von einer 64 auf eine 128 Bit FPU ging, wie sehr das den Bereich der Kerne aufgebläht hat obwohl (oder weil) die Fertigung mit 65 nm gleich geblieben war. Die neue 256-Bit-FPU bei Zen 2 gibt es sicherlich nicht umsonst. Ob diese allein allerdings erklären kann, dass die Chiplets so groß sind wie sie sind?
Über all das kann natürlich in unserem Spekulationsbereich im Forum diskutiert und debattiert werden.
Links zum Thema:
- Webwatch und AMD-News zum Wochenende (KW 47) ()
- Webwatch und AMD-News zum Wochenende (KW 46) ()
- Gigabyte zeigt erstes Server-Mainboard für Rome mit PCI-Express 4.0 ()
- AMDs Zen 2 Rome kommt mit 64 Kernen im Chiplet-Design ()
- AMD Zen 2 angeblich mit 13 Prozent IPC-Steigerung ()
- Globale Serverauslieferungen steigen 2018 stark — eine Chance für AMD ()
- Offiziell: AMDs Zen 2 wird bei TSMC in 7 nm gefertigt ()