Details und Analyse der Zen-Architektur nach der Hot-Chips-Konferenz

Artikel-Index:

Speichersubsystem im Detail

Zual­ler­erst sieht man auf AMDs Über­sicht auf der vor­her­ge­hen­den Sei­te, dass wie­der­um ver­brei­tert und ver­bes­sert wur­de:

    • Wri­te-Back-L1-Cache
    • schnel­le­rer L2-Cache
    • schnel­le­rer L3-Cache
    • schnel­le­res Laden in die FPU: 7 statt 9 Zyklen
    • bes­se­re L1- and L2-Daten-Pre­fet­cher
    • fast dop­pel­te L1- und L2-Band­brei­te
    • fast ver­fünf­fach­te L3-Gesamt­band­brei­te

Zunächst springt ins Auge, dass AMD zu einem L1-Cache­de­sign zurück­ge­kehrt ist, wie es frü­her üblich war: Berech­ne­te Daten wer­den nur in den L1-Cache zurück­ge­schrie­ben (wri­te back), ohne die höhe­ren Cache-Ebe­nen zu stra­pa­zie­ren. Grund hier­für war Mike Clark zufol­ge vor allem der Strom­ver­brauch. Zwar lässt ein Wri­te-Through-Cache wie bei Bull­do­zer höhe­re Takt­ra­ten zu, aller­dings muss man die Daten auch direkt in den L2-Cache schrei­ben, was ener­gie­auf­wän­dig ist. Will man also kei­ne CPUs mit einer TDP um 220 Watt mehr kon­stru­ie­ren, ist Wri­te-Back die ein­zig sinn­vol­le Vari­an­te.

Die L1-Caches sind 32 KiB (Daten) sowie 64 KiB (Instruk­tio­nen) groß und wer­den von 512 KiB L2 sowie 8 MiB L3 unter­stützt. Dies war schon seit letz­ter Woche bekannt:

Inter­es­sant wird es nun bei den Details. Die Latenz die­ser Wri­te-Back-Caches, wie einer als L1-Daten­cache dient, beträgt gemäß AMD vier Tak­te. Bzgl. der L2- wie L3-Cache­la­ten­zen bleibt AMD uns lei­der genaue­re Anga­ben schul­dig und gibt nur die unschar­fe Infor­ma­ti­on preis, dass die­se “schnel­ler” wären.

Pi mal Dau­men und mit der auf­ge­setz­ten dun­kel­grü­nen Bril­le opti­mis­tisch geschätzt, dürf­ten sich die Laten­zen bei weni­ger als 15 Tak­ten (L2) und etwas über 30 Tak­ten (L3) bewe­gen. Letz­te­rer wird wie Bull­do­zer in einer geson­der­ten Takt­do­mä­ne betrie­ben, sodass die Laten­zen, die in Kern­tak­ten gerech­net wer­den, ent­spre­chend schlech­ter aus­fal­len kön­nen. Dies war bei Bull­do­zer ähn­lich und selbst Intel wen­det die glei­che Tech­nik seit der Sky­la­ke-Archi­tek­tur an. Des­sen L3-Laten­zen betra­gen im schlimms­ten Fall sogar über 40 Tak­te. Da AMD jedoch das simp­le­re Cache-Design (kein Ring­bus) ver­wen­det, soll­te am Ende ein klei­ner Vor­teil für AMD übrig blei­ben.

Die Zugriffs­zei­ten von Zens L3-Caches unter­schei­den sich Clark zufol­ge je nach Cache­seg­ment und anfra­gen­dem Kern, da der L3 aus acht Tei­len zu je einem MiB auf­ge­baut ist. Nahe gele­ge­ne L3-Seg­men­te eines Kerns lie­fern die Daten natur­ge­mäß etwas schnel­ler als wei­ter ent­fern­te. Der Unter­schied dürf­te hier­bei nur weni­ge Tak­te betra­gen. Den Auf­bau eines Zen-Quad-Moduls kann man auf dem nächs­ten Bild begut­ach­ten:

Man erkennt deut­lich die acht 1-Mega­byte-Blö­cke des L3, die jeweils von 512 KiB L2 pro Kern flan­kiert wer­den.

AMD wird die­sen Quad-Modul-Kern­bau­plan für alle im Moment ange­kün­dig­ten Chips bei­be­hal­ten. Das bedeu­tet also, dass ers­tens die 8-Kern-Ver­si­on “Sum­mit Ridge” über 2x 8 MiB = 16 L3-Cache ver­fü­gen wird und zwei­tens auch die Zen-APUs mit GPU-Teil und nur einem Zen-Quad-Modul erst­mals eben­falls über einen L3-Cache ver­fü­gen wer­den.
Ent­ge­gen anders­lau­ten­der Gerüch­te setzt AMD beim Cache-Auf­bau wei­ter­hin auf exklu­si­ve L3-Caches nach der “Vic­tim Stra­te­gy”. Das heißt, dass Daten in der Regel ent­we­der direkt in den L1- oder in den L2-Cache gela­den wer­den: Fal­len Daten aus dem L2 her­aus, lan­den die­se “Opfer” (vic­tims) im L3. Bei Intel-Designs lie­gen L2-Daten dage­gen auto­ma­tisch immer als Kopie auch im L3, was einer­seits die effek­ti­ve L3-Cache­grö­ße und damit indi­rekt auch die L2-Grö­ße begrenzt, ande­rer­seits die Kern-zu-Kern-Kom­mu­ni­ka­ti­on ver­ein­facht.

Cache-Orga­ni­sa­ti­on und -Auf­bau gehen somit Hand in Hand. Weil AMD kein inklu­si­ves Cache­de­sign wähl­te, ein Daten­aus­tausch über den L3 also ohe­hin fast unmög­lich ist, benö­tigt man auch kei­nen ein­zel­nen gemein­sa­men L3-Cache, son­dern kann sich mit simp­len 8-MiB-Modu­len begnü­gen. Ins­be­son­de­re bei Ser­ver­chips mit vie­len Ker­nen und noch mehr Cache, wird die Cacheor­ga­ni­sa­ti­on zum Pro­blem. AMD setzt bei den Ser­ver­chips aber auch auf einen bewähr­ten MCM-Ansatz, mit dem von vor­ne her­ein kei­ne gemein­sa­men L3-Caches mög­lich wären. Somit ist die Design­ent­schei­dung ins­ge­samt nach­voll­zieh­bar und schlüs­sig. Als Spei­cher­mo­dell fin­det die bewähr­te und schon von K8/K10 bekann­te MOE­SI-Stra­te­gie Anwen­dung.

« Bes­se­re Kern­ar­chi­tek­tur» Die Lade-/Spei­cher­ein­hei­ten im Detail