První informace o procesorové architektuře Zen 3 od AMD. 8jádrový CCX, SMT4 nebude

7. 10. 2019

Sdílet

Vypadá to, že po letošní architektuře procesorů Zen 2 by firma AMD mohla už příští rok vydat zase nové (či alespoň nějak inovované) jádro Zen 3, což by mohlo obnášet nové funkce či vyšší výkon při stejné frekvenci neboli IPC. O tom, co se v architektuře Zen 3 chystá, ale zatím neprosákly žádné informace, takže v tomhle ohledu pořád tápeme v úplné tmě. Nyní ovšem přímo AMD vypustilo slajdy k Epycům třetí generace „Milan“, které budou mít právě jádra Zen 3 a tím přineslo první informace o této architektuře a oklikou asi i o desktopových Ryzenech 4000. AMD prezentovalo své serverové procesory na britské konferenci HPC-AI Advisory Council a video z prezentace byl chvíli veřejně dostupné (mezitím již zmizelo). Obsahem byla hlavně prezentace Epyců 7002 Rome a toho, jak se liší od první generace Naples. Ovšem prezentující zmínil i příští generace, čímž jsme se dostali k novým informacím.

Zen 3 bude už rok (14 měsíců) po Zenu 2

Třetí generace Epyců (7003/Milan) má přijít už příští rok, mezigenerační prodleva tedy u ní bude jen nějaký rok místo dvou let mezi první a druhou. Totéž platí i pro jádro Zen 3, je potvrzeno, že bude v Milanu použité. Milan má podle ukázané roadmapy vyjít příští rok v třetím kvartále, respektive možná na začátku čtvrtého. Start výroby nynějšího Rome totiž AMD má vyznačený na konec června (CPU pak byla oficiálně uvedena začátkem srpna). Oproti tomu Milan podle grafiky zřejmě začne s výrobou asi o dva měsíce později v roce 2020, až v srpnu. Mohl by tedy být odhalen koncem září nebo na začátku října, ale samozřejmě to nemusí být přesné ani definitivní. Každopádně by ale desktopové procesory Ryzen 4000 (kódově označené Vermeer) s jádry Zen 3 také možná mohly vyjít v Q3 nebo Q4 2020.

Roadmapa AMD s procesory Epyc 7003 Milan s architekturou Zen 3 Roadmapa AMD s procesory Epyc 7003 Milan s architekturou Zen 3

Zen 3 v serverové verzi Milian bude stále vyráběný na 7nm procesu (ovšem může jít o nějakou zdokonalenou novější verzi) a je potvrzeno už z dřívějška, že bude používat stejnou platformu se socketem SP3 a osmikanálovou pamětí DDR4, takže by mělo být možné servery upgradovat. TDP mají být stále 120–225 W, tedy stejně jako u druhé generace Rome. CPU bude poskytovat konektivitu PCI Express 4.0 jako Rome, PCI Express 5.0 ještě ne. Následující čtvrtá generace Epyců má označení Genoa a má používat nový socket a paměti DDR5. Ale ještě nevíme, kdy vyjde ani další detaily. Design údajně ještě není uzavřený, takže je možné, že mezi Milanem a Genoa může opět být delší pauza než jeden rok.

Zen3 nebude mít SMT se čtyřmi vlákny

V poslední době se šířila na internetu přesvědčení, že by AMD mohlo u jader Zen 3 nasadit novou formu SMT, která by zpracovávala zároveň už nejen dvě vlákna, ale rovnou čtyři (toto nyní nabízí například Marvell/Cavium ThunderX2 nebo IBM Power9). Šlo ale asi o pustou spekulaci bez nějakého konkrétního dokladu.

Slajdy od AMD toto teď vyloučily, že by Zen3 měl „SMT4“ používat. Je v nich jasně uvedeno, že se bude chovat stejně jako Zen 1, Zen 2 a jádra Intelu, procesory Milan s 64 jádry budou zpracovávat 128 vláken, tedy SMT bude stále exponovat jen dvě vlákna na jedno jádro.

Toto samozřejmě neznamená, že je SMT se čtyřmi vlákny vyloučené navěky. Teoreticky je možné, že přijde například už v následující generaci/architektuře. Nebo v některé následující. Jádra Zen 3 se ale podle všeho netýká a nedávná vlna spekulací asi neměla reálné základy.

Prezentace k 7nm procesorum AMD Epyc 7002 pro servery 30 Prezentace k 7nm procesorům AMD Epyc 7002 pro servery ze srpna. Milan s jádry Zen 3 už podle AMD prošel tapeoutem

Počty jader se se Zenem 3 nezvýší, ale změní se čtyřjádrový CCX

To, že Milan má stále 64 jader, asi znamená, že AMD stále bude v jednom CPU čipletu integrovat jenom osm jader, protože Milan má stále obsahovat osm 7nm čipletů s CPU jádry (a devátý IO čiplet opět asi na starším procesu). Toto znamená, že Zen 3 nepřinese zvýšení počtu jader v serverech. A také asi ani na desktopovém socketu AM4, kde bude se dvěma čiplety pod deklíkem pořád maximem šestnáct jader. Nicméně pokud by se podařilo vylepšit IPC a třeba i energetickou efektivitu, mohl by pořád výkon slušně narůst.

Prezentace AMD Epyc 7003 Milan s architekturou Zen 3 Prezentace AMD Epyc 7003 Milan s architekturou Zen 3: CCX má obsahovat osm jader s monolitickou 32MB L3 cache, zatímco nyní AMD používá dvojici čtyřjádrových CCX se samostatnými bloky 16MB L3 cache

A je zde ještě jedna věc, které by mohla výkonu v některých situacích mírně pomoci. AMD totiž zdá se u Zenu 3 už nebude jádra členit po čtyřjádrových blocích CCX, které byly základem jako u architektury Zen 1, tak Zen 2. Toto uspořádání znamenalo, že vždy čtyři jádra měla vlastní přímou komunikaci (patrně s topologií Crossbar) sdílela spolu blok L3 cache. Pro dosažení vyššího počtu jader musely být paralelně přidány další bloky CCX, ale mezi jednotlivými CCX už není L3 cache sdílená, ale musí se komunikovat po sběrnici Infinity Fabric, což je pomalejší než komunikace mezi jádry v rámci jednoho CCX.

U Zenu 3 ale bude zdá se blok CCX zvětšen na osm jader. To znamená, že osmijádrový CPU čiplet už bude tvořen jen jedním jediným CCX a trošku ubude komplexity. CPU s architekturou Zen 3 budou tedy se stejným počtem jader obsahovat poloviční počet CCX – osmijádrový Ryzen 4000 by mohl mít jediný, dvanáctijádro nebo šestnáctijádro jen dva. CPU tím pádem bude mít svou celkovou L3 cache rozdělenou na poloviční počet bloků, což bude efektivnější a například herní výkon by se mohl zlepšit. Podle slajdů bude mít jeden osmijádrový CCX celkem 32 MB cache, nebo možná i víc (není to potvrzeno, ale ve slajdu je napsáno „32 MB+“). Například šestnáctijádro s dvěma CCX bude mít 32+32 MB L3 cache, zatímco teď má čtyři CCX a 4×16 MB L3.

bitcoin_skoleni

Snížení počtu CCX ve výsledných procesorech by teoreticky mohlo umožnit také větší počet možných konfigurací. Teoreticky by možná AMD mohlo vyrábět například desetijádra a čtrnáctijádra pro socket AM4 (s jedním nebo třemi jádry vypnutými v každém CCX). Ale je možné, že tato možnost nebude využita. Osmijádrový CCX také otevírá jednu další možnost. A to, že by mohl stoupnout počet jader v APU s jediným CCX na osm jader, zatímco nyní mají Ryzeny s integrovanou grafikou nejvýše čtyři CPU jádra. Objevily se sice zvěsti, podle nichž by už APU Renoir s jádry Zen 2 mohlo mít osm jader (ve dvou CCX), ale pokud na to nedojde v této generaci, tak v následující s jádry Zen 3 snad už ano.

Lepší IPC: podobné zvýšení jako u Zenu 2?

Mimochodem, v další prezentaci pro HPC sektor Martin Hilgeman z AMD nepřímo nadhodil také otázku, zda bude Zen 3 opět zvyšovat IPC jako Zen 2 oproti Zenu 1. Zdá se, že ano. Hilgeman ukazoval slajd, kde AMD uvádí 15% zvýšení IPC u Zenu 2 a uvádí přitom, že firma pracuje na tom (je to „on track“), aby se údajně „podobně“ zlepšila také efektivita jádra Zen 3 v příští generaci Epyců Milan. Raději to berte s rezervou, protože ona efektivita by se možná dala měřit i v jiných věcech, mohlo by jít třeba i o vliv lepšího MT škálování s osmijádrovými CCX nebo vyšších podporovaných rychlostí RAM, ne přímo o zlepšení hrubého výkonu. Ovšem je zde minimálně šance, že Zen 3 bude mít i to lepší IPC. Ne nutně zase o 12 až 15 %, ale i třeba nárůst o 5 až 10 % by byl slušný.

Galerie: Architektura jádra AMD Zen 2 (prezentace z E3 2019, červen 2019)