AMD Zen 4: Cache ist King

PCGH-Redaktion

Kommentar-System
Teammitglied
Jetzt ist Ihre Meinung gefragt zu AMD Zen 4: Cache ist King

AMD scheint davon überzeugt zu sein, dass größere Caches helfen. Man hat den Infinity-Cache, man hat den V-Cache und bei Zen 4 sollen auch die L2-Caches wachsen. Genoa hat 1 MiB per Kern und damit doppelt so viel wie Milan.

Bitte beachten Sie: Der Kommentarbereich wird gemäß der Forenregeln moderiert. Allgemeine Fragen und Kritik zu Online-Artikeln von PC Games Hardware sind im Feedback-Thread zu veröffentlichen und nicht im Kommentarthread zu einer News. Dort werden sie ohne Nachfragen entfernt.

Zurück zum Artikel: AMD Zen 4: Cache ist King
 
AMD scheint davon überzeugt zu sein, dass größere Caches helfen.
Davon ist nicht AMD überzeugt, das ist ein seit Jahrzehnten bekanntes Gesetz. Nur sind wir mittlerweile an einem Punkt, wo mehr Cache erstens einen größeren Effekt hat als die anderen Stellschrauben die man bisher erhöht hat (Taktraten, Kernzahl, Ausführungseinheiten,...) und zweitens Probleme abschwächen kann die man vorher in dem Ausmaß nicht hätte (Bandbreitenbegrenzungen, insbesondere bei Grafikkarten).

Mehr Cache, genauer gesagt eine größere hitrate die damit einhergeht, war schon immer besser und jeder Chipentwickler weiß das. Nur waren bisher andere Methoden (pro nötiger Chipfläche) besser bzw. wirtschaftlicher als nur viel Cache dazuzuknallen. Jetzt, wo Dinge wie Taktraten, Parallelisierbarkeit, Branchprediction,... Ziemlich ausgereizt sind (mehr als 5 GHz sind sehr ineffizient und mehr als 16 Kerne im Desktop zu Hause kaum auszulasten) und man zusätzlich Probleme bekommt für all die Kerne halbwegs effizient Daten ranzuschaffen muss eben die nächstebeste Stellschraube maximiert werden: Mehr Cache.
 
Bei Broadwell hatte man ja schon gut gesehen, wie ein erhöhter oder extra Cache (L4) die Perfomance steigern kann.
Der war teilweise genauso schnell oder sogar schneller als höher getaktete CPU Modelle.
Der Core i7 5775C war auch lange Zeit regelmäßig in den CPU-Tests von PCGH und dort hat man gesehen: Selbst 5 Jahre später war dieser mit seinem L4-Cache seinen Kern-Anzahl-Nachfolgern ebenbürtig bzw. schneller.
Cache hat halt nur einen Nachteil: Es braucht viel Platz auf dem Die, deswegen beschränkt man ihn auch gerne und wickelt lieber viele Arbeiten für den deutlich günstigeren DRAM ab.
Oder noch früher zu Intel Core 2 Zeiten hatte man einen recht mächtigen L2-Cache inne gehabt (3 MB pro Core bsp. beim Q9650). Man kann mit viel sehr schnellen Zwischenspeicher schon viel machen. Man muss ihn nur sinnvoll platzieren, damit die CPU/SoC was anfangen kann. AMDs 1. Phenom-Generation war ein gutes Consumer-Beispiel: Der L3 war so langsam und fehlerbehaftet (TLB-Bug), dass dieser sogar eine Bremse war und damals die L3-losen Pendants flotter waren.
Noch ein prominentes Beispiel: Xbox One mit 32MB ESRAM - Das könnte man fast als L4 durchgehen. Da er keinen L3 in der Xbox hatte, war dies performancetechnisch nicht mehr so wahnsinnig nützlich...
 
Man hat ja auch das Gegenteil gesehen, wie bei den ersten Zen Generationen der Cache zu klein war und durch entsprechend schnellen RAM ausgeglichen werden musste. Der Schritt zum besonders großen Cache ist nur logisch.
 
Viel hilft viel. Zumindest Cache kann man in der Praxis kaum geung haben.
Perfekt optimierte Programme, die komplett im Cache arbeiten (Prime95, SuperPI) sind extrem selten.
 
Der Core i7 5775C war auch lange Zeit regelmäßig in den CPU-Tests von PCGH und dort hat man gesehen: Selbst 5 Jahre später war dieser mit seinem L4-Cache seinen Kern-Anzahl-Nachfolgern ebenbürtig bzw. schneller.
Cache hat halt nur einen Nachteil: Es braucht viel Platz auf dem Die, deswegen beschränkt man ihn auch gerne und wickelt lieber viele Arbeiten für den deutlich günstigeren DRAM ab.
Oder noch früher zu Intel Core 2 Zeiten hatte man einen recht mächtigen L2-Cache inne gehabt (3 MB pro Core bsp. beim Q9650). Man kann mit viel sehr schnellen Zwischenspeicher schon viel machen. Man muss ihn nur sinnvoll platzieren, damit die CPU/SoC was anfangen kann. AMDs 1. Phenom-Generation war ein gutes Consumer-Beispiel: Der L3 war so langsam und fehlerbehaftet (TLB-Bug), dass dieser sogar eine Bremse war und damals die L3-losen Pendants flotter waren.
Noch ein prominentes Beispiel: Xbox One mit 32MB ESRAM - Das könnte man fast als L4 durchgehen. Da er keinen L3 in der Xbox hatte, war dies performancetechnisch nicht mehr so wahnsinnig nützlich...

Vorsicht: Nicht die IPC-Tests mit den absoluten Werten verwechseln. In ersteren ist Broadwell H bis heute weit vorne mit dabei. Aber unter Berücksichtigung des möglichen, auch ab Werk deutlich höheren Takts war bereits der i7-6700K klar schneller als der i7-5775C. Das ist nämlich der zweite Nachteil großer Caches, insbesondere wenn sie Kern-nah sind wie L2s: Sie lassen sich schlecht takten. Unterm Strich hat man dann schnell die Fertigungskosten und die Taktbeschränkungen einer CPU mit 1,5- bis 2-mal so vielen Kernen, was oft mehr Leistung bringen würde. Cache-Vergrößerungen sieht man deswegen immer erst dann, wenn die Recheneinheiten bereits über das sinnvolle hinaus skaliert wurden oder wenn eine höhere Effizienz extrem wichtig ist.
 
Bergamo ist laut Moors Law is dead ein shrink der existierenden Kerne und streichen von allem unnötigen. Heißt eher spezialisierten Kernen. So kriegen sie viel mehr Kerne unter. Sozusagen Intels Energiesparkerne. Er hat auch leaked Infos das auch AMDs sparkerne bekommt und diese basieren eben auf solchen Kernen wie Bergamo sie bekommt. Nur geht er davon aus das es bei Zen5 als Beispiel so sein wird das man Zen4D (D- dense= Dichte) Kerne bekommt . Also immer die Dense Kerne der vorherigen gen
 
Ich finde den Trend großartig, ich habe mich damals deswegen lieber für einen 5675C entschieden als für eine 6000er Intel CPU, Broadwell war schon damals ein Geheimtipp, der Preis war aber für die meisten zu hoch, darum wurden sie quasi kleingeredet.
 
Davon ist nicht AMD überzeugt, das ist ein seit Jahrzehnten bekanntes Gesetz. Nur sind wir mittlerweile an einem Punkt, wo mehr Cache erstens einen größeren Effekt hat als die anderen Stellschrauben die man bisher erhöht hat (Taktraten, Kernzahl, Ausführungseinheiten,...) und zweitens Probleme abschwächen kann die man vorher in dem Ausmaß nicht hätte (Bandbreitenbegrenzungen, insbesondere bei Grafikkarten).
Kann es sein, dass nVidia genau aus dem von Dir genannten Grund in ihrer neuen Gen (Ada) den L2 Cache gegenüber Ampere um den Faktor 10 erhöht hat ? :confused:

MfG Föhn.
 

Anhänge

  • videocardz-ada-lovelace-720x720.jpg
    videocardz-ada-lovelace-720x720.jpg
    49,2 KB · Aufrufe: 183
Zuletzt bearbeitet von einem Moderator:
Vorsicht: Nicht die IPC-Tests mit den absoluten Werten verwechseln. In ersteren ist Broadwell H bis heute weit vorne mit dabei. Aber unter Berücksichtigung des möglichen, auch ab Werk deutlich höheren Takts war bereits der i7-6700K klar schneller als der i7-5775C.
Stimmt. Ich hatte mir eben nochmal ältere Tests angeguckt. Dachte der 5775C wäre schneller gewesen.
 
Kann es sein, dass nVidia genau aus dem von Dir genannten Grund in ihrer neuen Gen (Ada) den L2 Cache gegenüber Ampere um den Faktor 10 erhöht hat ? :confused:
Die Grafikkartenhersteller stehen vor einem Riesenproblem:
Man kann Grafiklast extremst gut parallelisieren - deswegen sind schnelle GPUs vereinfacht gesagt Prozessoren mit Tausenden von Kernen. Wenn man aber zigtausende Kerne gleichzeitig mit Daten versorgen will braucht man extreme Bandbreiten. Deswegen haben wir schon lange darauf ausgelegte GDDR-Speicher und breite Anbindungen und schaufeln seit vielen jahren Hunderte an GB/s, demnächst TB/s in die GPUs (im Vergleich dazu ist selbst schnellster DDR5 sehr langsam, da sind wir immer noch deutlich unter 100 GB/s).
DIese nötige Bandbreite hat hohe Kosten: Bei schnellen Grafikkarten gehen mittlerweile ein bedeutender Teil der TDP nur für das Speicherinterface samt GDDR drauf - um die nötigen Bandbreiten zu erreichen braucht es den schnellsten verfügbaren GDDR6 und teure, breite Anbindungen und selbst dann bleibts der Flaschenhals.

Da eine weitere Bandbreitensteigerung nur über extreme Kosten machbar wäre (512bit-SI oder gleich HBM usw und dreistellige Wattzahlen nur für Speicher) versucht man das Problem zu umgehen indem man die nötige Bandbreite reduzieren will (das macht man über Kompressionsverfahren schon seit langem aber das reciht nicht mehr). Das funktioniert durch große Caches - denn alle Daten die im Cache sind müssen nicht in den vRAM holen gegangen werden. Erstaunlicherweise ist es nun so, dass selbst bei 16GB großem vRAM die sehr sehr häufig verwendeten Daten nur einen kleinen Bruchteil ausmachen, ein paar Hundert MB (je höher die Auflösung desto mehr). Wenn man diese Daten in einem Cache lokal vorhalten kann spart man viele Zugriffe auf den vRAM und weitet den Flaschenhals - deswegen kommt AMD mit nur 256bit-Interfaces aus wo NVidia 384bit braucht. AMD nennt das halt Infinity Cache, NVidia macht technisch dasselbe bei Ada (eben sehr große L2-Caches), hats aber noch nicht werbewirksam benannt.
 
Der V-Cache könnte auch noch gestapelt werden, was dann auch mehr als 64MB ermöglicht;)
Ja, könnten sie bzw. eher TSMC. Die Frage ist nur, in wie weit das sich auf die Abführung der Abwärme niederschlägt. Würde man das bestehenden Design schlicht stapeln, also bspw. den über dem bisherigen L3$ liegenden Cache-Chip doppellagig ausführen, müsste das Dummy-Silizium, das links und rechts für die mechanische Stabilität sorgt, ebenso doppelt so stark/dick ausfallen.
Variante 2 wäre einfach eine Vergrößerung des gestackten Chips und es bleibt bei einer Lage. Bleibt man exemplarisch bei dem, was man von Zen3 her kennt, würde das aber bedeuten, dass das Dummy-Silizium über den eigentlichen Kernen kleiner wird und zum Teil oder gar ganz verschwindet und durch aktives Silizium ersetzt wird, dass zusätzlich seine eigene Abwärme erzeugt.
Einfach mal Abwarten, am Ende gibt es auch durchaus ein sinnvolles Limit für das Größenwachstum eines festverbauten Caches und hier ist Intels Ansatz mit Sapphire Rapids SP voraussichtlich der bessere Weg. Zudem, wenn ich mich recht erinnere, ist das für Genoa aber auch der eingeschlagene Weg, d. h. auch hier soll es angeblich angebundenen HBM-Speicher geben.

[Bergamo ohne SMT] Dem widerspricht AMD!
Genaugenommen widerspricht AMD nirgends, da man noch keine konkreten Details zur Realisierung der Zen4c-Kerne herausgegeben hat. Man hat lediglich davon gesprochen eine vollständige ISA-Kompatibilität zu wahren, was jedoch auf vielfältigem Wege realisiert werden kann.
Einerseits gibt es tatsächlich konkrete Gerüchte, die auch bspw. bei Heise & Co aufgegriffen werden und den Verzicht auf SMT vermuten. Was dagegen spricht, ist der vermeintlich "gesunde Menschenverstand", denn wozu die Kernzahl erhöhen, wenn man dann aber SMT streicht. Am Ende aber dennoch nicht abwegig, da SMT nur einen Bruchtteil der vollständigen Leistung eines Kerns bringt. Hier wird man abwarten müssen.
Darüber hinaus kann AMD zu Verkleinerung Funktionseinheiten streichen, da die zwecks höherem Durchsatz vielfach redundant implementiert sind und vor allem gibt es ebenso prominent die Vermutung, dass man beim Cache einsparen wird, was aber in Teilen kontraproduktiv wäre. Somit könnte man weiterspekulieren, ob Bergamo ggf. zwangsweise ein V-Cache-only-Design wäre, wo bspw. der L3$ möglicherweis nur in gestapelter Form existiert?
Ob letztere Überlegung wirtschaftlich ist, ist jedoch ebenso schwer abzuschätzen, da man mit Bergamo vorranging gegen die insbesondere im Cloud-Bereich erstarkende ARM-Konkurrenz ankämpft, die den Stand von Bergamo bereits in 2022 erreicht haben wird und mit günstigeren Preisen aufwartet, d. h. man kann hier zwangsweise keine zu teuere Fertigung anvisieren, weil das Produkt sonst sein Ziel verfehlen würde. In einem Jahr werden wir mehr wissen.

Kann es sein, dass nVidia genau aus dem von Dir genannten Grund in ihrer neuen Gen (Ada) den L2 Cache gegenüber Ampere um den Faktor 10 erhöht hat ? :confused:
Der Cache wird aus den gleichen Gründen wie immer gesteigert: *) Weil man mehr Bandbreite benötigt, sich jedoch eine verbreiterung des SI's oder noch schnellere Bausteine ersparen möchte. Insbesondere zeigt das Design der beiden Hersteller erneut, dass für HBM im Consumer-Segment die Zeit offensichtlich immer noch nicht gekommen ist.

*) Konnte man bereits an Ampere sehen, der mit 40 MiB L2$ aufwartet bei 108 aktiven SMs (über das sechsfache des GA102). Insofern übernimmt Lovelace quasi diese Art Konfiguration von Ampere.
 
Doch der Infinity Cache ist ein L3-Cache, Nvidia geht entsprechend mit Ada tatsächlich einen anderen Weg als AMD.
Im Wesentlichen nur in der Nomenklatur. Ich kenne die Details nicht auswendig (ob beispielsweise die Caches der beiden exklusiv oder inklusiv sind) aber die eigentliche Neuerung ist, Berge von Cache in die GPUs zu bauen um Zugriffe auf den vRAM zu sparen. Ob man da jetzt 2 oder 3 Hierarchiestufen verwendet bis der große Speicherblock kommt ist für das reine System dahinter nicht wirklch relevant. Die Gründe, warum AMD da anscheinend noch eine kleine Zwischenstufe mehr hat (da haste ja Recht) können vielfältig sein, von "Architektur braucht aus Grund xy da einen Cache um nicht umzukippen" bis hin zu "der kann weg aber den Umbau haben wir nicht mehr geschafft, bei der nächsten Arch dann" ist alles möglich^^
 
Na ja, ob INTEL wirklich immer den "besseren" Weg geht sei mal dahin gestellt ... :-P
Die Frage ist hier vielmehr wo da in dem Satz plötzlich das provokante "immer" herkommt? Dass heißt, da diskutieren wir erneut viel mehr über deinen Bias als irgendwelche technischen Gegebenheiten, wie es scheint. ;-)

Doch der Infinity Cache ist ein L3-Cache, Nvidia geht entsprechend mit Ada tatsächlich einen anderen Weg als AMD.
Hängt davon ab wie sehr man hier Haare spalten möchte. Grundsätzlich geht nVidia eigentlich den gleichen Weg wie AMD (und Intel bei GPUs) und jeder andere Hersteller davor auch bei anderen Produkten wie bspw. CPUs. Das Speichersubsystem zu erweitern ist aus technischen oder wirtschaftlichen Gründen aufwändiger, also vergrößert man die Caches um dessen Limitierungen weiter hinauszuschieben.
Beispielsweise bei Hopper war trotz des beträchtlich gestiegenen Leistungsdurchsatzes keine übermäßige Vergrößerung beim L2$ notwendig (hier nur +10 MiB ggü Ampere), denn hier wurden die Bandbreitenbzugewinne primär direkt über das Speichersubsystem realisiert durch den Wechsel auf HBM3.
Ein ähnliches Beispiel zu den Beweggründen hier ist die Wafer-Scale-Engine 2 von Cerebras. 7 nm, fast der komplette Wafer ist ein einziger, großer "Chip" und weil man den vielen Recheneinheiten nicht ein 1-Mio.-Bit-Speicherinterface zur Seite stellen kann, hat das Design auch gleich 40 GB(!) On-Chip-SRAM drauf, da die hohe Datenlokalität hier für eine effiziente Auslastung des Designs schlicht erforderlich ist.
 
Zuletzt bearbeitet:
Ja, könnten sie bzw. eher TSMC. Die Frage ist nur, in wie weit das sich auf die Abführung der Abwärme niederschlägt. Würde man das bestehenden Design schlicht stapeln, also bspw. den über dem bisherigen L3$ liegenden Cache-Chip doppellagig ausführen, müsste das Dummy-Silizium, das links und rechts für die mechanische Stabilität sorgt, ebenso doppelt so stark/dick ausfallen.
Laut AMD lassen sich bis zu 8 dieser V-Cache Dies stapeln.

Genaugenommen widerspricht AMD nirgends, da man noch keine konkreten Details zur Realisierung der Zen4c-Kerne herausgegeben hat
AMD hat aber offiziell verkündet, daß Bergamo eine höhere Threaddichte als Genoa haben wird.
Würde man bei Bergamo SMT nicht unterstützen, wäre das nicht machbar!
 
Zurück