Oficiální dokument AMD: Zen 5 má IPC zlepšené o 10–15+ %, jádro má 6 ALU a 512bitové SIMD

30. 9. 2023

Sdílet

 Autor: Fritzchens Fritz, použito se souhlasem autora - public domain
Unikly detaily architektonických zlepšení jádra AMD Zen 5 a čísla o tom, jaký bude nárůst výkonu na 1 MHz proti Zenu 4. A dokonce už prosákl i výhled na to, jak se IPC zlepší poté v Zenu 6.

Teď asi nejdychtivěji očekávanou hardwarovou událostí jsou nadcházející procesory AMD Ryzen generace 8000, v nichž má mít premiéru nová architektura Zen 5. To má být podle některých zvěstí největší upgrade CPU jádra od prvního Zenu z roku 2017. Co toto nové jádro přinese, bylo dosud zastřeno tajemstvím, ale teď nastal první velký a důvěryhodně působící únik, který ho odhaluje. A dokonce nastřeluje i procentuální nárůst IPC.

K těmto informacím se nějak dostal Moore's Law is Dead, který na videu z pátku ukazuje slajdy z nějaké prezentace AMD představující budoucí architektury AMD – Zen 5 a také na něj navazující Zen 6 (který by měl být evolucí Zenu 5). V dokumentech je roadmapa jader x86 představující čtyři generace – Zen 3, Zen 4 a poté novinky Zen 5 a Zen 6. Dokument pravděpodobně vznikl někdy po vydání Zenu 4 minulý rok nebo nedlouho před ním. Uvádí Zen 5 na rok 2023 a Zen 6 na rok 2024, ale to asi sedí spíš k času dokončení architektur, ne k vydání procesorů.

Zen 5: Rozšíření jádra na 6 ALU, 512bitové SIMD

Jádro Zen 5 je, zdá se, v souladu s dosud prosakujícími pověstmi výrazně posílené. Dokumenty ukazují, že výrazně rozšiřuje Out of Order Engine a zároveň prohlubuje fronty. Jádro má přidané vykonávací jednotky: zejména šest ALU místo dosavadních čtyř. Ale také poprvé máme čtyři Load/Store (AGU) pipeline místo tří. Všechny čtyři umí provádět čtení (takže počet load operací je až čtyři za cyklus), dvě z nich zápis.

Kromě přidání další pipeline ale Load/Store část má také rozšíření datové šířky na dvojnásobek – 512 bitů, čímž se vyrovná jádrům Intelu. Propustnost dat mezi jádrem a subsystémem pamětí a cache tak bude dvojnásobná, což může hodně pomoci v HPC kódu a podobných intenzivních aplikacích.

Toto souvisí s velkou změnou v SIMD a FPU. Podle slajdů jádro bude zřejmě mít již nativně 512bitové jednotky pro výpočet instrukcí AVX-512 v jednom průchodu, což by mělo výrazně zlepšit jejich výkon (uvidíme ale, zda to nepovede k nárůstům spotřeby a propadům taktů jako u Intelu). Zen 4 provádí většinu operací AVX-512 ve dvou průchodech. Plná 512bitová šířka ale možná bude jen ve výkonnější „tlusté“ verzi jádra. AMD evidentně opět plánuje úspornou/kompaktní verzi Zen 5c a je naznačeno, že ta by mohla zůstat 256bitová.

Podle nákresu jádra bude SIMD a FPU jednotka opět asi mít koprocesorový charakter typický pro procesory AMD, se separátním schedulerem a fází rename vedle separátní celočíselné skalární části. Není řečeno, zda bude mít stejný počet pipeline jako dnes.

Větší L1 cache a další změny

Základní celočíselná část má svůj scheduler údajně více unifikovaný proti Zenu 3 a 4 (u těch má celočíselná část čtyři rozdělené schedulery) a celkově by snad jeho efektivní kapacita měla být větší. Také další fronty se mají zvětšit, což by mělo umožnit získat vyšší IPC. „Okno“ pro out-of-order optimalizaci má být „hluboké“ a znamená to asi, že se zvětší dosud poměrně malý ReOrder Buffer. Ale nevíme, jak moc. Pravděpodobně dostanou větší kapacitu také load a store fronty.

Nevíme zatím, zda AMD přidá i na instrukčních dekodérech. Na jejich přidávání není asi takový tlak, protože architektury AMD se spoléhají na uOP cache, která dekodéry částečně obchází. Dispatch, který v Zenu 4 propouštěl šest operací za cyklus, byl ale rozšířen na osm a také fáze rename zvládne osm operací za cyklus. Fetch z instrukční cache by snad měl umět načítat dva různé bloky za cyklus.

Ryzen 9 7950X s architekturou Zen 4

Autor: Ľubomír Samák

Jádro má vylepšený prefetching dat a prediktor větvení (což jsou typicky věci, které se snaží vylepšit každé nové jádro). Podmíněné větvení má být jádro schopné zpracovat bez prostojů (bublin) v pipeline procesoru, což by asi mělo souviset s oním fetchem dvou různých bloků. Branch Target Buffer bude zvětšený, stejně jako TLB pro data a zejména L1 datová cache. Ta se zvětší na 48 kB, tedy o 50 %. Toto by mělo přímo zlepšit IPC, byť je to pořád menší než na některých procesorech ARM (ty to mají usnadněné použitím větších stránek paměti, zatímco svět PC a x86 procesorů se drží 4kB stránek) a kapacita 48 kB je stejná, jakou mají jádra Intelu od architektury Sunny Cove (Ice Lake) výše. Ta však mají horší latenci (5 cyklů), zatímco u Zenu 5 bude L1 datová cache bude mít stále 4cyklovou latenci (load to use) a má 12cestnou asociativitu. L2 cache zůstává 1MB a také L1 instrukční cache zůstává na 32 kB (zatímco Meteor Lake ji teď u Intelu zvětší na 64 kB).

To, co je na slajdech, nebude asi vyčerpávající výčet změn. Zmíněné jsou ještě třeba vylepšené pag walkery („PWC“), fúzování operací a vylepšení v bezpečnosti a podporovaných instrukčních rozšířeních.

Také je zmíněno, že by snad CCX, tedy CPU Core Complex, mohl mít konečně více než 8 jader, a to 16. To může mít dalekosáhlé důsledky, pokud by totiž jeden CPU čiplet už měl 16 jader, pak by mohl narůst počet jader u běžných Ryzenů 5 a 7 a highendové Ryzeny 9 se dvěma CPU čiplety by mohly povýšit na 24–32 jader. Dosud se ale v únicích mluvilo o tom, že na platformě AM5 stále bude maximum 16 jader. Nabízí se, že 16jádrový CCX platí jen pro verzi s kompaktními úspornými jádry Zen 5c. Máme podezření, že právě to by mohlo být vysvětlení. V takovém případě narostou počty jader jen u cloudových Epyců, zatímco u desktopových procesorů pro socket AM5 budeme mít stále jen 6-, 8-, 12– a 16jádra.

IPC: +10–15 % (nebo víc?)

Asi nejvýbušnější část tohoto úniku jsou ale údaje o výkonu, respektive predikce výkonu přímo od AMD, které dokument uvádí. Podle slajdu má být „IPC“, čímž by se měl myslet výkon při stejné frekvenci, navýšeno „o 10–15 %+“ zřejmě proti předchozí architektuře (Zen 4). Oním plusem by se mělo myslet, že výsledek může být vyšší a rozsah 10–15 % je třeba chápat spíše jako spodní mez.

Tyto údaje by pravděpodobně mohly být konzervativní v tom smyslu, že jsou do určité míry podstřelené. Jednak je tu ono plus znamenající „nebo víc“, ale důvodem je i to, že v době tvorby dokumentu ještě procesory nebyly hotové. Výkon se může lišit podle ladění firmwaru, paměťového řadiče a také případných oprav výkon snižujících chyb nebo funkcí deaktivovaných kvůli tomu, že se u nich nepodařilo plně ověřit korektnost fungování.

Pro ilustraci – AMD ve stejném dokumentu uvádí, že Zen 3 zvýšil IPC o 19 % a Zen 4 o 14 %. Asi si ale pamatujete, že když AMD poprvé veřejně o výkonu Zenu 4 několik měsíců před vydáním mluvilo, uvádělo jen hodně opatrnou hodnotu 8 až 10 %. To byl právě asi příklad toho, kdy bylo číslo konzervativně podhodnocené. Jednak asi pro případ oněch chyb odhalených příliš pozdě před vydáním, ale AMD nejspíš věří, že je lepší udržovat nižší očekávání a pak je předčit, než vytvořit očekávání vysoká a pak mít rozpačitou realitu.

Je proto možné, že oněch 10–15 % (nebo víc) ještě může skončit třeba podobným výsledkem, jako bylo zlepšení IPC u Zenu 3 (oficiálně +18 % nebo +19 %). Záleží ovšem taky na tom, pro koho je tato prezentace určená. Pokud je pro externí oči (tedy OEM partnery, výrobce desek, PC nebo serverů), pak asi budou ti, kdo prezentaci sestavují, opatrní a budou tyto předběžné predikce podhodnocovat tak, aby měli jistotu, že nakonec reálné procesory nebudou horší než sliby.

Jiné by to možná mohlo být u prezentace určené vyloženě pro interní spotřebu (pro vedení firmy). Tam by asi podhodnocování nebylo a inženýři by se snažili vystihnout pomyslnou spodní hranici, ale i horní hranici a nějaký realistický scénář toho, „jak to nejspíš dopadne“. Dokumenty ukázané Moore's Law is Dead jsou nicméně označené poznámkou AMD Confidential – NDA Required, která působí spíš jako něco z materiálů určených pro externí prezentaci. Vyloučit ale asi nelze ani jednu variantu.

Pokud bychom z tohoto kontextu měli splácat nějaké konkrétní číslo, asi bychom jako rozsah, v kterém by nakonec mohlo zlepšení IPC Zenu 5 dopadnout, odhadovali spíš na něco jako 12–20 % (což je ovšem tak široké rozmezí, že to moc hodnotný odhad není, berte to jen jako ilustraci předchozího argumentu).

IPC nebude jediná komponenta výkonu, protože na tom se podílí jak IPC, tak frekvence. Takty slajdy nepredikují, ale podle toho, jak jádro vypadá, nejde o nový design na zelené louce, naopak stále jde o něco, co vychází ze Zenu 1 a 3 a jejich evolucí. Toto by mohlo znamenat, že frekvence se nezhorší, jak se místy spekuluje, ale podobně jako mezi Zenem 2 a Zenem 3 zůstane spíš stejná, nebo potenciálně mírně vyšší. Ale opět, toto je spíš tip na základě intuice, moc se na to nespoléhejte.

Zen 6: Dalších aspoň 10 % v IPC navíc

Zen 6 je podle roadmapy derivát Zenu 5 a jde o menší architektonickou změnu oproti Zenu 5, který je „nové jádro“. Toto odpovídá předchozímu vědění, podle něhož AMD postupuje tak, že liché verze Zenů jsou nové architektury a sudé mezi nimi jsou vždy rozvinutím a vylepšením předchozího lichého Zenu (AMD tomu říká „leveraged core“).

K Zenu 6 zatím nejsou v úniku ukázány tak detailní informace. Jádro má kódové označení Morpheus a CPU čiplet je Monarch. Vyrábět se bude buď na 3nm procesu, nebo na 2nm (případně budou existovat různé implementace na obou technologiích). AMD uvádí, že jádro Zen 6 by mělo přinést navýšení výkonu na 1 MHz o „10 %+“. Opět je tedy pravděpodobné, že 10 % je konzervativní spodní hranice, a pokud vývoj půjde dobře a jádro nepostihnou těžká neřešitelná errata, mohlo by finální zlepšení být o něco výš.

Architektonické změny nejsou uvedené, má ale být dostupný „memory profiler“ (že by nástroj pro optimalizaci a řízení toho, jak je propustnost operační paměti sdílena jednotlivými jádry?) a instrukční rozšíření používající datový typ FP16 pro potřeby akcelerace AI.

Podle dokumentu bude Zen 6 používat 32jádrový CCX, což by asi mělo znamenat, že na jednom 3nm či 2nm kusu křemíku určeném pro výkonné desktopové a serverové procesory by bylo 32 jader. Teoreticky by pak obdoba dnešního Epycu 9004 (tedy generace 9006) už mohla mít až 384 jader, pokud se toto potvrdí. Pokud by AMD stále nabízelo v desktopu procesory s dvěma čiplety, měly by až 64 jader. Ovšem opět je otázka, zda tato formulace nemluví jen o CCX s malými úspornými jádry Zen 6c místo těch výkonných.

Je také třeba říct, že 32jádrový CCX neznamená, že nebudou existovat procesory s menším počtem jader fyzicky přítomných na čipu. Zmenšené „ořezané“ konfigurace byly zejména v APU celkem normální (dvoujádrový Zen „Raven2“, šestijádrový Zen 4/4c „Phoenix2“).

AMD Epyc 9704 Bergamo

AMD Epyc 9704 Bergamo má kompaktní verzi jader Zen 4c, s 16 jádry na jeden CPU čiplet (stále ale ještě v blocích CCX po osmi jádrech)

Autor: AMD, via Anandtech

Je si třeba pamatovat (a Moore's Law is Dead na to na videu upozorňuje), že výkon na 1 MHz se u procesoru mění v závislosti na aplikaci, takže architektonické změny jádra mohou dávat různá procenta nárůstu IPC podle toho, v jakých programech budete výkon měřit. Tudíž ony hodnoty nárůstu IPC je vždy třeba průměrovat z většího množství aplikací, ale udávané číslo pořád může dost kolísat podle toho, co do takového výběru zařadíte. Toto je další důvod, proč je zatím nutné nebrat tato uniklá čísla jako přesné charakteristiky a stavět na nich nějaké rozsáhlé konstrukce a porovnávání s jinými procesory.

bitcoin_skoleni

Mimochodem, Moore's Law také uvádí, že Zen 5 pro desktopy (tedy Ryzen 8000) by měl vyjít v první polovině roku 2024. Dokonce je prý možné odhalení či uvedení v Q1, ale spíš asi čekejte druhý kvartál. Kdy bude Zen 6, zatím známo není, ale pravděpodobně bude následovat za ne méně než rok a půl – nejdříve tedy koncem roku 2025, možná ale až po začátku roku 2026.

Zdroje: Moore's Law is Dead, VideoCardz