Intel Alder Lake: informace o cache v Golden Cove a Gracemontu a jak funguje big.LITTLE

24. 5. 2021

Sdílet

 Autor: Intel
Objevují se první architektonické detaily nové CPU architektury Intelu. Máme informace o tom, jak se v big.LITTLE procesorech Alder Lake změní cache jader Golden Cove a Gracemont. Vypadá to, že malá jádra budou sdružená po čtyřech a jedna čtveřice zhruba zastupuje jedno velké jádro.

Architektura Alder Lake by mohla být jedním z nejzajímavějších počinů Intelu v procesorech za poslední roky. Mimo to, že začne používat hybridní přístup big.LITTLE, by zejména velké jádro (samo označované Golden Cove) mělo přinést velké zvýšení výkonu na 1 MHz frekvence, tedy tzv. IPC, tedy charakteristiky tolik opěvované u procesorů Applu.

Zatím pořád napjatě čekáme na podrobnosti o architektuře, jako je počet ALU nebo hloubky reorder bufferu a dalších front v procesoru. Ale objevily se informace o konfiguraci mezipamětí cache, a to jak pro Golden Cove, tak i pro malá jádra Gracemont. Z nich už se také dá vyčíst to, jak budou spolu propojená velká a malá jádra. Tyto informace pocházejí z kódu, který zveřejnil přímo Intel a obsahuje výpis různých vlastností ES vzorku procesoru Alder Lake. Vzhledem k oficiálnímu původu by tedy mělo jít o téměř zaručená data.

Vzorek, na kterém jsou tato data pořízena, je desetijádro, a to zřejmě mobilní Alder Lake řady U, protože obsahuje dvě velká jádra Golden Cove a k tomu osm malých jader Gracemont. Že mainstreamové mobilní verze budou mít přesně tento mix jader, už ukázaly tyto uniklé informace, podle kterých takovéto procesory budou mít TDP 9 W nebo 15 W (s určitou mírou konfigurovatelnosti).

Golden Cove: stejná L1 cache, snížená asociativita u L2?

Výpis na Githubu postupně vypisuje všechny cache. Pro Golden Cove se zdá, že L1 cache je víceméně beze změny proti jádrům Sunny Cove a Willow Cove (procesory Ice Lake a Tiger Lake). L1 pro data má 48 KB s 12cestnou asociativitou, L1 pro instrukce má 32 KB s 8cestnou. Toto neznamená nutně, že výkon je stejný, mohly by se například nějak změnit latence, propustnost, algoritmy prefetchingu a podobně.

Kde je ale rozdíl proti Tiger Lake/Willow Cove, je v L2 cache. Intel převzal 1,25MB kapacitu, toto tedy zůstalo zachováno. Ovšem zatímco asociativita je u nynějších procesorů 20cestná, Alder Lake a Golden Cove ji má zredukovanou na 10cestnou. Méněcestná asociativita by teoreticky mohla zhoršit hit-rate této cache a tím její účinnost. Nicméně by také mohla umožnit snížit latenci, což zase výkonu pomáhá. Zde tedy není úplně jasné, zda se výkon L2 cache zlepší, nebo zhorší. Je možné, že různé úlohy mohou reagovat různě (někde to přinese zpomalení, někde zrychlení).


1310720
64
10
2048

Budou budoucí jádra mít ještě větší L2 cache?

Intel asociativitu snížil u 256KB L2 cache jádra Skylake, kde byla jen 4cestná, zatímco rovněž 256KB cache předchozích architektur až po Broadwell byla 8cestná. Pravděpodobně šlo o přípravu na zvýšení kapacit L2, které nastalo v jádrech Ice Lake (na 512KB/8cestná asociativita), ale zejména v serverovém Skylake-SP (1 MB/16cestná).

Snížení asociativity u Golden Cove by proto mohlo znamenat, že v následující evoluci jader hodlá Intel zvětšit kapacity L2 cache, což je mimochodem také jedna z věcí, která asi procesorům Apple pomáhá k vysokému výkonu. Apple nicméně má také velmi velké L1 cache, což Intel ani AMD zatím moc nepřevzaly. Podle uniklých materiálů má každopádně následující generace Raptor Lake dělat nějaké změny právě v systému pamětí cache, údajně takové, které zlepší herní výkon (což doufejme neznamená, že ten u Golden Cove nebude dobrý...)

Kromě budoucích architektur by také L2 cache mohla být zvětšená u paralelně vyvíjené serverové verze Golden Cove – procesorů Sapphire Rapids, které tuto architekturu také mají (ale asi s posíleným výkonem v AVX-512).

Gracemont: větší L1 cache pro instrukce, než má velké jádro

Zajímavé jsou údaje pro malé jádro Gracemont, kde jsou cache také změněné proti předchozí architektuře Tremont. To má proti velkému jádru menší datovou L1 cache, jen 32 KB s 8cestnou asociativitou, což je nezměněné proti minulosti. Ale zatímco u Tremontu měla L1 pro instrukce stejné parametry a kapacitu, Gracemont ji má dvakrát větší – 64 KB. Ovšem asociativita se nezvýšila a zůstala 8cestná.


65536
64
8
128

Zvětšení instrukční cache je možná provedeno v návaznosti na architekturu s dvěma klastry instrukčních dekodérů schopnými paralelně zpracovávat dva proudy instrukcí, což Intel poprvé zkusil v Tremontu a v Gracemontu by zřejmě idea mohla být dále rozvinutá.

Tip: Architektura Intel Tremont odhalena: o 30 % lepší IPC, Atomy s výkonem velkých jáder

L2 cache je u Tremontu s kapacitou 2 MB a s 16cestnou asociativitou. Ovšem není vyhrazená pro jedno jádro jako u velkého jádra. Z předchozích malých jader je převzatá architektura, kdy je L2 cache sdílená společně blokem čtyř jader Gracemont. V procesoru s osmi malými jádry jsou proto dvě tyto 2MB L2 cache. Čtveřice jader s jednou L2 bude patrně tvořit jednotný klastr, který nejspíš také bude mít společné jediné zapojení do prstencové sběrnice, která všechna jádra propojuje dohromady.

L3 cache je společná, 4 malá jádra jsou jako 1 velké

Tomu nasvědčuje konfigurace L3 cache. V procesoru je jen jedna, takže by měla být sdílena velkými i malými jádry, a má kapacitu 12 MB a je 12-cestná. To je konfigurace, která přesně odpovídá čtyřjádrovému procesoru Tiger Lake/Willow Cove, s 3MB bloky cache pro každé jádro. U Alder Lake v mobilní konfiguraci 2+8 tedy zřejmě dochází k tomu, že jeden čtyřjádrový klastr malých jader hraje v celkové soustavě stejnou roli, jako jedno velké jádro. Na prstencové sběrnici tak budou procesorová jádra představovat čtyři zastávky, ale za jednou zastávkou pro malá jádra budou vždy čtyři Gracemonty spolu místo jen jednoho.

Výkonná desktopová verze s 8+8 jádry tedy bude mít prstencovou sběrnici se osmi velkými jádry a potom dalšími dvěma zastávkami pro dva čtyřjádrové klastry malých jader. Měla by se tedy chovat podobně jako prstencová sběrnice u desetijádrového Comet Lake-S.

To, že malá jádra nebudou mít každé vlastní zastávku, sníží výrazně průměrné latence při komunikaci mezi jádry (minimálně mezi těmi velkými), protože u ringbusu se latence s každým přidaným zastavením zhoršují. Na šestnáct samostatných jader už by asi ringbus nemusel zas tak dobře škálovat, takže by se architektura sběrnice musela změnit. Intel u serverových CPU s více jádry proto už dávněji přešel nejdřív na dva propojené prstence, což ale asi bylo příliš komplikované, a potom od Skylake-SP na mesh propojení.

ICTS24

Z tohoto pohledu se asi mobilní 2+8jádro Alder Lake do značné míry bude dát srovnávat s nehybridním čtyřjádrem a výkonné 8+8 Alder Lake-S pro desktop zase s hypotetickým desetijádrem (se všemi jádry velkými). Uvidíme tedy, zda vícevláknový výkon bude škálovat lépe, než jaký by asi podávaly takové nehybridní alternativy. Na tom by tedy v budoucnu možná mohlo být vidět, zda se big.LITTLE koncepce Intelu vyplatí, nebo ne.

Galerie: Úniky a informace k procesorům Intel Alder Lake

Zdroj: Project ACRN/Github, via: Hardware Times