Detaily CPU jádra Intel Alder Lake/Golden Cove odhalené (analýza)

Rozšíření ve výpočetních jednotkách a prohloubení „okna“

Procesory Intel Alder Lake budou asi největší hardwarová událost letoška. Jsou ještě přes dva měsíce daleko, ale už jsme dostali snad nejvíc očekávané info: Intel odhalil architekturu jader těchto CPU. Ta slibuje velké navýšení výkonu – půjde o jeden z největších architektonických skoků v x86 procesorech. Například poprvé přináší šest paralelních dekodérů a další posílení IPC, čímž Intel jde podobou cestou jako účinná jádra Applu.

Jako jsme vypíchli posílení dekodérů symbolicky ukazující, jak architektura Golden Cove kráčí cestou rozšíření jádra, lze to samé udělat u výpočetních jednotek (backendu), i když tam to možná není tak nápadné. Zvyšování IPC je ale hodně patrné na hloubce out-of-order bufferů a front. V těch procesor může držet více operací, díky čemuž se nezadrhne při různých zdrženích (třeba když chybí data z paměti, špatně se odhadne větvení). Také se pomocí těchto bufferů optimalizuje výkon tím, že se operace provádí v jiném pořadí, než v jakém je předpokládá program.

To druhé je hlavní podstata tzv. out-of-order procesorů: přehazováním instrukcí se dá docílit toho, že v jednom cyklu uděláte víc operací, protože vás tolik neomezují závislosti dat mezi instrukcemi – pokud nemáte tři nebo čtyři (nebo teď až šest) nezávislých instrukcí, abyste využili všechny dostupné jednotky, můžete se podívat do budoucích částí následujících v kódu pro takové instrukce, které na těch současných nezávisí a můžete si je tedy spočítat dopředu. Toto je stěžejní způsob, kterým procesory dosahují vyššího IPC. Ale pro toto zlepšení výkonu dosaženého v jednom cyklu je třeba, aby procesor při optimalizaci měl k dispozici co nejdelší kus kódu, z něhož by instrukce mohl brát a přehazovat je. Velikost tohoto tzv. „okna“ určuje fronta Re-Order Buffer (ROB).

A právě Re-Order Buffer možná je druhou z největších změn spolu s oním posílením dekodérů (a s nimi spojeného Fetche) – a asi ne náhodou je také velikost Re-order Bufferu další věcí, v níž vynikají architektury procesorů Apple s mimořádně vysokým IPC. Intel je zde do značné míry následuje. V architektuře Skylake měl ROB hloubku 224 položek (instrukcí, přesněji μOPů) a už Ice/Tiger/Rocket Lake (architektury Sunny/Willow/Cypress Cove) to výrazně navýšilo na 352 položek. Alder Lake/Golden Cove jde ještě dál a zvětšuje Re-order Buffer až na 512 položek.

Je třeba říct, že Apple je pořád dál, odhaduje se, že ROB u jeho současné architektury Firestorm má až 630 instrukcí. Nicméně relativní zvětšení je u Golden Cove hodně velké (takto vysoké asi většina hadačů neočekávala) a lze přitom předpokládat, že bude dál pokračovat v následujících architekturách. Zvětšování ROB není zadarmo; mělo by stát tranzistory, ale také spotřebu navíc, takže implementovat ho efektivně není asi vůbec lehké. Je zajímavé, že třeba AMD Zen 3 má pořád ROB s hloubkou jen 256 položek (přesto jádro ve výsledku má výkon jako Tiger Lake s hloubkou 352 – jak vidíte, výkon CPU nikdy neurčuje jen jediný izolovaný parametr). Ale zde je asi jasné, že AMD bude u budoucích architektur „okno“ ROB také zvětšovat.

Větší potenciál v backendu

Podobně jako u Fetche a dekódování jde zvětšení ROB ruku v ruce se zvětšením počtu výpočetních jednotek. Dává smysl tyto dva aspekty posilovat naráz, protože s větším oknem je větší šance využít víc jednotek.

Intel u Golden Cove dál používá svou dlouholetou koncepci (jdoucí až k Pentiu Pro), kdy jsou výpočetní jednotky sdružené za několika porty, do nichž scheduler rozesílá instrukce a na jednom portu je více jednotek, které pak nelze použít v jednom cyklu současně. Scheduler je jen jeden unifikovaný jak pro klasické, tak pro FPU a SIMD instrukce, jejichž jednotky se také skrývají za stejnými porty. Hodně konkurenčních jader (ARM, ale i například AMD) má tuto část rozdělenou a běžné aritmetickologické operace mají jeden klastr jednotek a svůj vlastní scheduler nebo schedulery a instrukce a jednotky SIMD jsou zase ve své vlastní oddělené části s vlastním schedulerem. Je zajímavé, že malé jádro procesorů Alder Lake (Gracemont) už má architekturu s oddělenými SIMD/FPU porty také, ale Golden Cove ne.

Golden Cove zvyšuje počet paralelních portů, a to na 12 z 10 u předchozí architektury (v Ice/Tiger/Rocket Lake, jádro Skylake jich mělo 8). Tím se zvyšuje počet operací, které procesor může teoreticky provést najednou nárazově z plného scheduleru (předchozí části jsou ale, jak jsme již viděli, stavěné na maximum šesti operací za cyklus, takže trvale udržitelné toto maximum 12 není).

Poprvé pět ALU

ALU neboli aritmeticko-logické celočíselné jednotky se skrývají za porty 0, 1, 5, 6 a pak za novým portem 10, který přidává pátou ALU k dosavadním čtyřem. To také znamená, že Golden Cove bude v říši x86 procesorem s největší šířkou. Pro srovnání Zen až Zen 3 mají čtyři ALU, Apple se dostal na šest.

Všech pět těchto portů také podporuje instrukci LEA (Load Effective Address), která je velmi často používaná – původně slouží pro obsluhu paměti, ale dá se užitečně použít k aritmetice a kompilátory ji v také takto produkují. Všech pět portů podporuje LEA s latencí jeden cyklus (je tedy hotová v příštím cyklu).

Další komplexnější instrukce ale mají omezenější propustnost. Násobení je zřejmě na dvou portech, bitové posuny také a také pro zpracování větvení (JMP) jsou dvě jednotky. Celočíselné dělení umí jedna jednotka.

Silnější AGU pro lepší paměťový výkon

Load-store či AGU jednotky jádra provádějící čtení a zápisy do paměti (respektive cache) jsou v Golden Cove také posílené. Procesor má místo čtyř AGU teď pět (porty 2, 3, 7, 8 a pátá je na druhém nově přidaném portu 11). Tři jednotky jsou Load a dvě Store, takže jádro Golden Lake podporuje tři čtení z paměti a zároveň dva zápisy do paměti za cyklus. Tři čtení a dva zápisy jsou stejná maxima, jako má AMD Zen 3, ale ten má jen tři AGU a může tedy udělat jen maximálně tři operace za cyklus: tři čtení, nebo dva zápisy a jedno čtení, nebo dvě čtení a jeden zápis. Tento subsystém tedy má Zen 3 slabší. Vedle toho má jádro také dva separátní porty jen pro ukládání dat (port 4 a 9), což je převzaté z předchozích architektur.

Nejde tu ovšem jen o počet operací, ale v případě náročných výpočtů také o propustnost, která je proti Zenu 3 až dvojnásobná. Běžná verze Golden Cove v procesorech Alder Lake by měla umět provést tři 256bitová čtení z L1 cache (odpovídající registru/vektoru AVX/AVX2) za cyklus (tedy propustnost 768b/cyklus, což by mělo být 50% zlepšení proti předchozímu jádru). Verze jádra Golden Cove s podporou AVX-512 by měla umět také dvě 512bitová čtení (odpovídající šířce registru/vektoru AVX-512) naráz, čímž by jádro dokázalo při výpočtech krmit jednotky daty s propustností 1 Kb v každém cyklu.

L1 cache samotná nemá přímo změny v kapacitě nebo asociativitě, stále je 48KB (což zavedla předchozí architektura v generaci Ice Lake/Sunny Cove). Ovšem výkon paměťového subsystému byl zlepšen dalšími cestami. Fill buffery L1 cache byly posílené z 12 na 16, byl vylepšený prefetch do L1 cache a také byl zvětšen TLB L1 Cache pro data z 64 na 96 položek. Vše toto by mělo zlepšovat výkon. Pokud dojde k TLB missu, pak také bude procesor hledat data na dalších úrovních paměťového subsystému rychleji, protože Intel zvýšil počet page walkerů ze dvou na čtyři (v tomhle je ovšem méně agresivní než konkurence – AMD u Zenu 3 zvýšilo počet ze dvou na šest).

Intel uvádí také, že byly prohloubeny také buffery pro operace čtení a zápisu z registrů do L1 cache, ale u nich není řečeno, jaké jsou teď jejich přesné velikosti. Procesor má také rychleji vyhodnocovat závislosti mezi paměťovými operacemi (tzv. Memory Disambiguation) a tím umožnit jejich rychlejší vykonání mimo pořadí. Celkově díky těmto zlepšením má jádro Golden Cove mít sníženou efektivní latenci čtení z L1 cache.

Také u L2 cache pak nastala zlepšení. Zvládá obsluhovat více paralelních požadavků na data z dalších úrovní paměti, když se v L2 nenajdou. Zatímco předchozí architektury mohly mít rozjeto 32 takových požadavků najednou, u Golden Cove jich lze paralelně mít až 48. Toto by mělo zlepšovat paměťový výkon a propustnost, kterou dokáže z RAM vytáhnout jedno vlákno/jádro. Jde mimochodem o další z parametrů, v kterém byla jádra Apple napřed před Intelem a AMD, takže nyní se jim asi Golden Cove může přiblížit. L2 cache má i účinnější prefetcher, který se umí podle zpětné vazby zpomalit, aby konzumoval méně propustnosti a uvolnil ji tak pro jiné operace. Došlo i na nějaká další vylepšení (Full-line-write predictive bandwidth optimisation).

Kapacita L2 cache je stejná jako u Tiger Lake/Willow Cove, tedy 1,25 MB pro jedno jádro (proti Rocket Lake, které ještě má jenom 512KB L2 cache, je to ale velké zvětšení – byť u Tiger Lake se nezdálo, že by mělo moc velký vliv). Serverová verze v procesorech Sapphire Rapids bude mít přidáno dalších 768 KB, stejně jako to Intel udělal v předchozích generacích serverových jader, takže bude celkově mít 2 MB L2 cache v každém jádru.

Článek pokračuje v další kapitole.

  •  
  •  
  •  
Flattr this!

Intel spěšně ukončí prodej 125W procesorů Core 13. generace

Od února se šíří zprávy o nestabilitě výkonnějších procesorů Intel Core 13. a 14. generace ve hrách. Intel teď udělal netypickou věc, která vyvolává otázku, zda třeba s problémem nesouvisí. Jen pár měsíců po vydání refreshových modelů Raptor Lake, tedy Core 14. generace, ukončuje výrobu předchozích modelů generace 13. Přitom obvykle firma nechávala starší generace dojíždět mnohem déle, takže by to teoreticky mohlo s aktuální chybou souviset. Celý článok „Intel spěšně ukončí prodej 125W procesorů Core 13. generace“ »

  •  
  •  
  •  

Nestabilních procesorů Raptor Lake přibývá, Intel věc analyzuje

Před nedávnem jsme psali o tom, jak mají procesory Intel Raptor Lake problémy se stabilitou ve hrách. Zprávy o pádech často provázených zavádějící hláškou o nedostatku grafické paměti, zdá se, neutichají a naopak se spíš množí, stejně jako počty her, ve kterých jsou tyto problémy hlášené. Intel zatím k věci nezaujal nějaké oficiální stanovisko, ale problém analyzuje. Jde možná o největší takové problémy s procesory Intel v poslední době. Celý článok „Nestabilních procesorů Raptor Lake přibývá, Intel věc analyzuje“ »

  •  
  •  
  •  

Poslední Core i9: Speciální i9-14900KS má i extrémní spotřebu

Intel letos chystá vydání nové generace desktopových procesorů – čipletové 3nm Arrow Lake, které už bude pojmenované Core Ultra a bude mít novou platformu LGA 1851. Ještě předtím se ale firma rozloučí se socketem LGA 1700 už asi navždy nejvýkonnějším procesorem, jaký bude na jejím 7nm procesoru existovat: Core i9-14900KS. Tato speciální edice teď bude nejrychlejším, ale také zdaleka nejžravějším procesorem pro hráče od Intelu. Celý článok „Poslední Core i9: Speciální i9-14900KS má i extrémní spotřebu“ »

  •  
  •  
  •  

One comment Pridať komentár

  1. Oprava chyby v článku: bylo špatně napsané srovnání s počtem AGU a load/store operací za cyklus u Zenu 3 (ten má jen 3 AGU a může tedy udělat jen maximálně tři operace za cyklus: tři čtení, nebo dva zápisy a jedno čtení, nebo dvě čtení a jeden zápis, kdežto Golden Cove má 5 AGU umí 3 čtení a zároveň 2 zápisy).

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *