Colindo schrieb:
[1] CDNA hatte aber nie die Bezeichnung "L0-Cache" oder? Da war doch immer die klassische L1 und L2 Struktur.
[2] Aber interessant, was du über RDNA 4 sagst. Damit konnte ich mich bei Erscheinen nicht im Detail befassen und hatte nicht bemerkt, dass der L1-Cache entfernt wurde. Überrascht mich, ehrlich gesagt.
[1] Richtig, L0 wurde bei CDNA nie als Startpunkt verwendet, weil dort eine Umbenennung nicht "notwendig" war.
Allerdings habe ich an der Stelle bewusst L0 geschrieben, da CDNA5 nun auf RDNA basiert bzw. der physischen WPG-Struktur.
Dort hat AMD L0 als den Startpunkt gewählt bzw. als Bezeichnung für den CU lokalen Daten Cache:
AMD hatte damals bei RDNA 1 die Wahl, ob sie den lokalen Cache weiterhin als L1 bezeichnen und den neuen Cluster-Cache als L2-Cache und den vorherigen L2-Cache als L3.
Stattdessen hat man den L1-Cache in L0 umbenannt, der L1-Cache war ein neuer Cluster-Cache und der L2-Cache funktionell und physisch wie gewohnt.
Man hätte den Cluster-Cache auch L1.5 nennen können, was nachträglich gesehen die „eleganteste“ Lösung gewesen wäre.
Dann wären von der physischen Lokalität und mehrheitlich auch Funktionalität her die L1- und L2-Cache-Bezeichnungen über mehrere Architekturen und Generationen hinweg praktisch gleich geblieben.
[2] Die Hit-Rate des L1-Caches war relativ schwach, und jedes zusätzliche Cache-Level erhöht die Latenzen.
Bei RDNA 4 hat man den L1-Cache in einen einfacheren L1-Buffer umgewandelt, welcher Speicherzugriffe zum L2-Cache nach wie vor aggregiert und steuert, aber selber keine Daten mehr cached.
Um die verlorene L1-Cache-Bandbreite auszugleichen, hat RDNA 4 relativ zu RDNA-3-Chips doppelt so viele L2-Cache-Slices, die Bandbreite und Kapazität wurde verdoppelt.