CPU jádro Zen 2 detailně: nová architektura AMD přináší hlubší změny, než se čekalo

33

AMD teď na přelomu května a června definitivně odhalilo procesory Ryzen 3000 vyráběné na 7nm procesu a obsahujících nové CPU jádra Zen 2. O této architektuře něco povědělo už loni, ale tehdy neprozradilo všechny změny. Tento měsíc během E3 2019 firma odhalila Zen 2 ve větších podrobnostech a vypadá to, že tato jádra přinášejí o dost větší inovaci, než co se čekalo. V tomto článku se na architektonické změny podíváme podrobně.

Předchozí
Následující

Paměti cache a Infinity Fabric

Přeštelování L1

Je zajímavé, že L1 cache pro instrukce naopak byla současně se zvětšením uOP cache zmenšena – možná v rámci balancování či proto, že na ní pak už nezbylo místo. Má tedy místo 64 KB v Zenu 1 32 KB. Ovšem její asociativita byla navýšena na dvojnásobek, je nyní osmicestná místo čtyřcestné. Toto by patrně mohlo zlepšit její využití, a nižší kapacita zase možná sníží spotřebu.

Instrukční L1 je teď stejná jako L1 Cache pro data – ta je 32KB s osmicestnou asociativitou už od Zenu 1. Latence zůstává na 4 cyklech. Je zajímavé, že Intel přes desetiletí používal také 32+32KB L1, ale zrovna teď s jádrem Sunny Cove zvětšuje datovou L1 na 48 KB.

Zvětšená L3 „Game cache“

U L2 cache změna není, je nadále 512KB s latencí 12 cyklů. Ovšem AMD zvětšuje L3 cache. Ta má nyní 16 MB v každém čtyřjádrovém bloku CCX – osmijádrové CPU by tedy mělo mít 2 × 16 MB, šestnáctijádro 4 × 16 MB. Toto zvětšení má údajně pomoci hrám a to údajně až o 11–21% (údaj pro hraní v rozlišení 1080p se samostatnou grafickou kartou). Této větší L3 říká firma v Ryzenech „AMD GameCache“, ale to je jen marketingový slogan.

AMD uvádí, že tato větší L3 cache pomáhá „efektivní průměrné latenci paměti“, ale pozor – toto znamená, že procesor častěji nalezne data v L3 a méně často musí do RAM, takže je latence v průměru lepší kvůli více L3 „hitům“. Neznamená to, že tato větší L3 má sama sníženou latenci. Mělo by to být naopak, latence přímo L3 cache samotné kvůli zvětšení stoupla, mělo by to být ze zhruba 35 na asi 40 cyklů.

O něco lepší by v jádře Zen 2 měly být také TLB (Translation Look-aside Buffery), které slouží pro cachování fyzických adres virtuálních stránek paměti. L2 TLB má kapacitu 2000 položek místo 1500 a nově funguje i pro 1GB velké stránky paměti (to Zen neuměl). Také by měl mít nižší latenci. A AMD údajně také zvětšilo fronty operací, které nenašly data v L1 nebo L2 cache (tzv. cache missy).

Infinity Fabric má dvojnásobnou šířku

Mezi jednotlivými CCX/Core Complexy (čtyřjádrovými bloky s oddílem L3 cache) opět zajišťuje spojení Infinity Fabric, stejně jako spojení mezi CCX a paměťovým řadičem, případně řadičem PCI Express a další konektivitou. V případě komunikace s CCX, tedy CPU jádry, Infinity Fabric opouští 12nm/14nm IO čiplet a přes substrát komunikuje se 7nm CPU čipletem.

U Zenu 2 ovšem má tato propojovací logika být vylepšena. Její datová šířka byla zdvojnásobena z 256 bitů na 512 bitů. To je opět uděláno kvůli dvojnásobnému výkonu instrukcí AVX2 (který si vyžádal podobné rozšíření silnic i uvnitř jádra) vyžadujícímu i vyšší propustnost. Ovšem u Infinity Fabric je toto rozšíření zároveň motivováno ještě něčím jiným. PCI Express 4.0, který procesory Ryzen 3000 a Epyc druhé generace podporují, má také dvojnásobnou propustnost proti PCI Expressu 3.0. A také tedy ideálně vyžaduje dvojnásobně rychlé zázemí v CPU, aby komunikace nevázla.

Není to jediné zlepšení. IF podporuje časnější aktivace stránky v paměti při přístupu, takže efektivní latence je v některých případech nižší, také je časněji iniciován probe signál do jiných pamětí cache pro vyhledání dat. Podle AMD také energetická efektivita Infinity Fabric u Zenu 2 stoupla o 27 %, čímž se myslí, že spotřeba na jeden přenesený bit je o toto číslo nižší.

Dělička pro taky Infinity Fabric pro přetaktování DDR4

A další změna se udála pro potřeby přetaktovávačů. Infinity Fabric byla dosud pevně navázána na frekvenci pamětí DDR4 – běžela na polovině její efektivní frekvence. Toto však omezovalo schopnost řadiče běžet na vysokých frekvencích pamětí. U Zenu 2 proto přibyla možnost přepnout Infinity Fabric do poměru 2:1, kdy běží na poloviční frekvenci. Toto má dovolit vytáhnout frekvenci DDR4 poměrně snadno až někam na 4200 MHz (kdy IF poběží zhruba na stejné frekvenci, jako dříve s 2133MHZ DDR4) a při přetaktování – asi se myslí extrémním – prý až za 5,0 GHz. Experimentálně se prý už podařilo dostat na 5133 MHz efektivně.

V praxi ale asi tento 2:1 režim nebude mimo extrémní OC příliš užitečný, snižuje totiž interní propustnost a ve výsledku i latenci. Jak můžete vidět zde na slajdu, podle AMD je pro výkon nejlepší použít co nejvyšší možnou frekvenci, která stále běží v 1:1 režimu. Takovýmto ideálem by podle AMD měl být takt 3733 MHz, kdy je podle AMD latence pamětí s použitím CL17 modulů asi 67 nanosekund. Toto ovšem bude poněkud drahá legrace, takže jako cenově výhodnější nejbližší alternativu AMD doporučuje takt DDR4-3600 a CL16, což má dávat latenci okolo 69 nanosekund. Toto je nicméně OC, standardně podle specifikací JEDEC má Ryzen 3000 oficiální podporu jen pro DDR4-3200.

IPC má být až o 15 % vyšší

Popsané změny jádra by měly přinést poměrně citelné zlepšení taktu při zachování stejné frekvence, což by mělo umožnit značné zlepšení celkového výkonu (zvlášť když zároveň stoupne počet jader až na dvojnásobek). Toto zlepšení tzv. IPC ovšem nebude již zdaleka tak dramatické, jako při přechodu z mnohem užšího jádra Excavator – další zvýšení výkonu je o dost obtížnější. AMD udává, že by IPC mělo být lepší až o 15 %, nicméně toto zlepšení se bude hodně lišit podle konkrétního programu. Kód závislý na propustnosti instrukcí AVX2 by například mohl naměřit zlepšení ještě větší.

Článek pokračuje na další straně.

Galerie: Architektura jádra AMD Zen 2


Předchozí
Následující

33 KOMENTÁŘE

  1. Tak tenhle článek mi nasadil do hlavy ještě víc brouků, abych letos přesedlal z 6600K na 12C Ryzen. Bohužel tituly od Turn 10 a Playground jsou neskutečně rozežrané na CPU, takže cílím upgrade na 8C+. Ještě počkám na ceny, protože tam se může ukázat, že si AMD bude chtít nechat trochu vyšší marže. A celkem se divím, že ani Alza nemá katalog nacpaný novými produkty s cenovkou “těšíme se”.

    • Ceny byly ohlášené a měly by asi sedět, jestli nevypukne nějaká nákupní panika, což počítám že nenastane, hlavně ne když se bavíme o vlastně jen retailu (IMHO), tj. 5-10% trhu s PC – a kdyby nastala, tak to bude jenom po omezený čas.
      12jádro by při dnešním kurzu dolaru mělo být za 13 600 Kč s DPH…

        • Jo, bude třeba počkat na recenze a zkušenosti majitelů, jak se to snáší s nějakýma levnějšíma deskama B450-X470 a ušetřit na tý desce, když CPU stojí majlant…

          O víkendu jsem se koukal, že snad všechny Gigabyte s čipsetem B350 (včetně věcí s dvěma DIMM slotama) dostaly BIOS s “full” podporou Ryzenů 3000 (až po šestnáctijádra podle seznamu podpor. CPU). Samozřejmě když to člověk bude chtít přetaktovat tak to je jiná věc, ale snad to na rozumné desce do třech tisíc poběží dobře aspoň stock.

            • Já to nemyslel jako doporučení, jen jako že ta podpora na starších deskách vypadá nakonec vcelku dobře (i když je tu pořád ten problém, že musíte shánět kus s novým BIOSem nebo řešit, jak novou updatovat).

              Snad teda recenze a zkušenosti potvrdí, že to na řadě 400 bude fungovat bez nějakejch bugů nebo nestabilit (300ky asi zajímají hlavně lidi, co upgradujou). Ještě jsme nepřeskočili…

      • ~13 tísíc korun + MB (které očividně zdraží) mi způsobuje lehčí skřípění zubů. Ve výsledku dobře naceněné 9700K nebo 9900K v reakci na Zen2 by bylo čistě na gaming asi lepší volba. No asi nezbývá nic jiného než čekat, ale už bych letos chtěl přesedlat.

      • Počkejme si na pád dolaru, USA jsou předlužené a stále více produktově ignorované, mají krizi přede dveřmi. Kolik z toho se týká i Kanady, je otázka, ale rozhodně méně. I já se připojuji k pochvale za vysoce informativní článek.