theGucky schrieb:
Wird trotzdem hinter dem 9800X3D liegen, wegen der Latenz zwischen den CCDs.
In dem Fall ist allerdings die Latenz zwischen den CCDs nur ein Teil des Problems und man muss dazu auch schreiben, dass die Latenz zwischen zwei CCD sich auf dem Level bewegt, auf dem sich auch Intel bei der Core-to-Core-Latenz im schlechtesten Fall bewegt. Die Latenz innerhalb eines CCD ist bei AMD besser, zwischen CCD und CCD aber nicht wirklich schlechter als bei Intel.
Das Problem hier ist ein anderes und liegt in der Cache-Struktur des L3: Victim-Cache. Alle Cache-Lines die aus dem L2 eines Kernes fliegen, werden dort gesammelt, bis sie wieder benötigt werden. Ist der Cache voll, fliegen die ältesten Lines final raus.
Je nachdem, worauf ein Kern wartet, holt er sich die Daten entweder direkt aus dem L2-Cache des Kerns, der gerade die Cache-Line bearbeitet, oder kann im L3 schauen, ob sie da ist. Nur liegen halt die Cache-Lines von CCD1 im CCD1 und vom CCD2 im CCD2. Die Anforderung muss also auf jeden Fall erfolgen.
Araska schrieb:
Versteh ich nicht. Der 9950X3D liegt auch nicht hinter dem 9800X3D...
Die Sache ist die, dass die Cache-Lines des CCD1 im CCD1 liegen und damit Kerne im CCD2 diese "explizit" anfordern müssen. Ein Kern im CCD1 wiederum kann im L3 des CCD1 schauen ob die Cache-Line dort liegt und sofern sie frei gebene ist, diese sich sofort schnappen. Wenn sie nicht frei ist, weil ein Kern die gerade bearbeitet, muss er diese anfordern vom entsprechenden Kern und warten bis dieser fertig ist.
Dazu kommt, dass der L3 den lesenden Zugriff auf den RAM "kompensiert", aber das auch nur pro CCD, nicht für die ganze CPU. CCD2 muss in der Regel im Zweifel die Daten aus dem RAM holen und wartet darauf länger, egal ob beide CCD nun den 3D-VCache haben oder nicht.
Dazu kommt, dass auch bestimmt werden muss ob eine Cache-Line gültig ist oder nicht. Der große Vorteil des 3D-VCaches besonders bei Spielen verpufft ein Stückweit, besser nimmt durch die Struktur ab.
KurzGedacht schrieb:
Das Inter CCD Problem bleibt exakt das gleiche, ganz egal ob man nur auf einem oder auf beiden den extra Cache hat (oder auf keinem).
Ja, nur sind die Core-to-Core oder eben CCD-to-CCD-Latenzen im weiten nicht mehr so schlecht wie noch zu Zen 2 und Zen 3 Zeiten. Da hat AMD viel gemacht. Gleichzeitig geht aber, und da hast du recht, teile des 3D-VCache verloren, weil es eben statt den knapp 20 ns schnell 80 ns sind.
KurzGedacht schrieb:
Im Prinzip macht ein Cache Zugriff auf den anderen CCD den kompletten X3D Vorteil kaputt.
Teils, Teils. Der Vorteil ist immer noch da, nur nimmt er ab. Die Kommunikation zwischen CCD1 und CCD2-L3 ist immer noch schneller, als zwischen CCD1 zum RAM. Das Thema ist im ganzen etwas komplexer. Denn die 80 ns zwischen den CCDs ist im Zweifel immer noch schneller, als zwischen CCD und RAM.