Intel odhalil architekturu Sunny Cove pro procesory Ice Lake. A plán, co přijde po ní

42
Ilustrační foto

Možná jste před časem zaregistrovali, že Intel přislíbil na 11. prosince odhalení svých budoucích architektur, což je něco, čehož už od něj několik let nedočkali (hlavně kvůli nešťastnému zpoždění 10nm procesu). Mohlo by to budit dojem, že Intel na vylepšování architektury CPU zapomněl, ale pravda to určitě nebude. Společnost nyní odhalila, co má stran architektury jader CPU v plánu na nejbližší léta a představila plán tří budoucích jader: Sunny Cove, Willow Cove a Golden Cove. Kromě toho také jejich souputníky architektury Atom, i když o těch tolik detailů nepřišlo.

 

Předchozí
Následující

Konečně nová architektura CPU jader Intel: Sunny Cove

Architektura Sunny Cove je jádro, které přijde do procesorů Ice Lake – tedy druhé, „tock“ generace 10nm procesorů. Ovšem reálně vlastně první, protože Cannon Lake (10nm „tick“, byť s reálnými architektonickými zlepšeními) se víceméně ani nedostalo na trh.

Cove/Lake?

Zde možná budou vznikat zmatky s kódovými označeními. Sunny Cove neznamená, že by se jednalo nějakou novou architekturu odlišnou od Ice Lake, jde jen o odlišné označení. V médiích se jádra ze zvyku označovala jménem celého čipu/SoC (tedy například Skylake, Kaby Lake), protože jsme pro ně od Intelu neměli samostatné jméno. Tato samostatná kódová označení přímo pro architekturu ale Intel interně používá a jsou to právě tato jména končící na Cove (zátoka). Nyní se s nimi zřejmě budeme setkávat i veřejně. Pamatujte si proto, že „Cove“ je vždy označení architektury jádra, kdežto „Lake“ je označení pro procesor, v kterém tato jádra budou integrovaná. Sunny Cove je tedy jádro uvnitř procesoru Ice Lake, jako má AMD jádra Zen+ v procesorech Pinnacle Ridge. Nebo Intel u Atomů, kde se procesor jmenuje např. Gemini Lake, ale samotné jádro má označení Goldmont+.

Sunny Cove: vyšší IPC, větší cache

Sunny Cove je první „tock“, tedy nová či lépe řečeno silně přepracovaná architektura, od Skylake. Jak už chvíli víme, Ice Lake (tedy Sunny Cove) dostane změněné cache. To se nyní potvrzuje. L1 cache pro data je nově 48KB (zvětšení o 50 %) a L2 cache bude také zvětšena. Ovšem pozor, ne vždy to musí být na 512 KB, které ukazovaly úniky. Intel uvádí, že velikost může záviset na produktu, takže je možné, že v některých segmentech trhu může být větší (servery).

Prezentace CPU architektury Intel Sunny Cove/Ice Lake, prosinec 2018 (Zdroj: AnandTech)

Kromě hlavních cache ale jádro zvětšilo také TLB druhé úrovně a pozor, také „L0“, respektive „uOP cache“. Ta měla dosud 2048 položek, nyní to bude víc, ale přesně nevíme (shodou okolností je toto zlepšení, které bude paralelně aplikovat i Zen 2 od AMD). Větší cache znamenají, že procesor v nich častěji najde data a zkrátí si čekání na vyhledání v RAM. Větší uOP cache zase znamená, že procesor častěji najde dekódované instrukce v ní a vyhne se použití energeticky náročných dekodérů, které jsou zároveň často tzv. úzkým hrdlem výkonu.

Víc portů, druhá míchačka pro SIMD

Jádro bude celkově širší. Issue/retire se zvýší ze čtyř na pět instrukcí za takt. A současně Intel zvedl počet portů, na které se dělí výpočetní jednotky v jádře na deset z osmi. Nové porty P8 a P9 přibudou v load/store části procesoru a zvýší tak kapacitu pro načítání dat z paměti a jejich ukládání. Sunny Cove/Ice Lake díky nim bude schopné provádět dvě čtení a zároveň dva zápisy do paměti. CPU bude mít čtyři AGU místo tří a kapacita ukládání se tímto zdvojnásobila proti Skylake. to umí dvě čtení a jedno ukládání. Pro srovnání, Zen umí jen dvě načítání, nebo dvě ukládání, pokud se tedy tyto operace stanou úzkým hrdlem, má o dost nižší kapacitu.

Prezentace CPU architektury Intel Sunny Cove/Ice Lake, prosinec 2018 (Zdroj: AnandTech)

U přímo výpočetních jednotek ALU/FPU je to méně vidět, ale i zde došlo ke změnám. Jejich čtyři porty mají lepší schopnosti. Například všechny porty umí instrukce LEA (dříve jen dva), násobení budou umět dva porty jednotky místo jednoho. Na těchto stejných portech (respektive třech z nich) má Intel jako dosud navěšené také jednotky FPU/SIMD. Hlavní zlepšení by v jejich případě mělo být v tom, že nově umí operace Shuffle dvě jednotky místo jediné: porty 1 a 5. Toto bylo slabé místo, protože port s instrukcemi shuffle býval v SIMD kódu přetížený (zvlášť s AVX-512), takže zdvojení jednotky shuffle by mělo zlepšit výkon SIMD operací například v multimédiích. Intel měl dvě jednotky shuffle už dřív do architektury Sandy/vy Bridge, ale Haswell a Skylake ji obětovaly. Takže zde jde vlastně o návrat, který si údajně přímo vyžádali zákazníci/programátoři.

Srovnání portů a jednotek u jader Skylake a Sunny Cove/Ice Lake, prosinec 2018 (Zdroj: AnandTech)

Hlubší fronty a další…

Kromě těchto úprav zlepší výkon (IPC) v již existujícím kódu ještě další věc. Intel uvádí, že byly zvětšeny buffery spojené s out-of-order vykonáváním operací, čímž by CPU mělo být schopno optimalizovat provádění lépe, jelikož má pro něj větší „okno“, vidí delší část kódu. Zvětšen byl Reorder Buffer, fronty Reservation Stations jednotlivých portů a také fronty čtení z paměti a ukládání do paměti. Není ale řečeno, o kolik, či jak budou u Sunny Cove hluboké. Kromě toho byla také prý snížena celková latence načítání dat (ovlivňovaný L1 cache a TLB) a také byl opět vylepšen prediktor větvení.

S tím souvisí, že jádro by mělo mít nové opravy proti útokům typu Spectre na spekulativní vykonávání kódu, jakož i opravy, které už jsou v posledních 14nm architekturách. Bezpečnost by také měla zlepšovat rozšíření umožňující šifrování paměti (Total Memory Encryption) a zabránění vykonávání instrukcí v usermode režimu. Paměťový řadič bude jinak také podporovat více bitů adresního prostoru, až 57 lineárního adresování. Fyzický adresní prostor bude zvětšen na 52 bitů.

Sunny Cove: nové instrukce a schopnosti

Kromě architektonických změn, které budou obecně zlepšovat ICP plus minus všude, bude mít nové jádro také zlepšení jako jsou nová instrukční rozšíření, která také zlepší výkon, ale jen tehdy, pokud je programátoři využijí. Zaměřená budou na SIMD instrukce, strojové učení, kryptografii a podobné účely.

Nová instrukční rozšíření jádra Intel Sunny Cove/Ice Lake (Zdroj: AnandTech)

Sunny Cove bude jako jádro Cannon Lake podporovat instrukce AVX-512, byť spotřebitelská verze asi s nižším výkonem než Xeony (pro 512bitové operace budou pravděpodobně kombinovány 256bitové jednotky FMA na portu 0 a 1, nebude přítomna další samostatná 512bitová FMA). Sunny Cove přidá také podporu pro instrukce IFMA které se hodí pro aritmetické a kryptografické operace. A nově se objeví také vektorové instrukce pro šifrování (AES, SHA, bezpřenosové násobení/CLMUL, instrukce pro operace Galoisových těles).

Odhalený křemík procesoru Intel Skylake-SP (Foto: Fritzchens Fritz)

Výkon zatím není jasný, ale IPC by mohlo být o hodně lepší

Celkový dopad těchto změn na IPC nelze bohužel dost dobře předpokládat, takže vám nemůžeme předhodit nějaký odhad, o kolik procent vzroste výkon jader Sunny Cove v Ice Lake proti stejně taktovanému Skylake. Tipnul bych si, že by mohlo by jít aspoň o 10–15 %, ve speciálních případech (SIMD) ale i více. Neznáme ale, na jakých frekvencích tyto už 10nm čipy poběží, takže výkon lze odhadovat dost těžko. Intel však uvádí v roadmapě, že očekává zvýšení jednovláknového výkonu coby jedno z hlavních zlepšení, což by naznačovalo signifikantní zlepšení IPC.

Článek pokračuje na další straně informacemi o plánech Intelu na následující generace procesorů a tom, kdy se Sunny Cove objeví na trhu.

Předchozí
Následující

42 KOMENTÁŘE

      • To bude asi diky lepsi podpore sifro/desifrovani instrukcnich sad, cimz dojde ke zrychleni. Nejspis neco podobneho, jako kdyz se do CPU pridala podpora pro AES sifrovani, ktera do znacne miry eliminovala nutnost pouzivani multi-core CPU pro AES.

    • “up to 75% more 7-zip performance,” without elaborating whether they mean compression, decompression, or encryption.
      Speaking of the latter, this chip has some serious encryption chops, including support for new encryption instruction-sets that include SHA-NI (secure hash algorithm new instructions), and vector-AES. Much of the chip is designed to accelerate encryption, and its applications could be focused on the enterprise.”

      Proc ta druha cast chybi ve tvem komentari Maudite? 😀

    • Těch 75 % bude nějaký speciální případ. Pravděpodobnost, že je to reprezentativní číslo pro zlepšení, kterého ta architektura dosáhne průměrně/typicky, tak ta je asi hodně malá.

      Ale zase ne že to číslo není zajímavé, to zase je. Dost by mě zajímalo, jak se to povedlo. Něco se mi zdá, že CLMUL se dá využít pro CRC32 (jeslti se mi to neplete) a pak ten archiv mohl být šifrovaný, ale stejně je to dost velké číslo (pokud to není něco jako že je tam šifrování a ověřování, ale jen skladovací mód bez komprese). Nejzajímavější vysvětlení by bylo, kdyby to CPU mělo přímo specializované akcelerátory na kompresi zip (lzma bychom už asi chtěli moc…), což myslím nikde nezaznělo ale u některých ne-x86 CPU takové věci myslím existují.

    • No spíš asi v rámci toho obvyklého zrychlení, i když typicky věci jako x264 mívají lepší nárůsty než v průměru, takže kdyby se celkové IPC zlepšilo o 15 %, tak by v enkódování by třeba mohlo být 25 %. (Ale to je všechno střílení úplně od boku, lepší je asi spíš tak nějak čekat, že to bude obecně lepší, a moc nespekulovat o přesných číslech.)

      Výpočetních jednotek je tam stejně, ale mohlo by pomoci to AVX-512 a tam, kde kód trpěl na nedostatek těch shuffle jednotek, tak by mohl běžet rychleji. Ale nemělo by to být zrychlení srovnatelné s tím, co bude relativně mezi Zenem1 a Zenem2 v AVX instrukcích (tedy co by mělo být, vzhledem k tomu zvětšení SIMD jednotek na 256bitů). Tj. náskok Intelu se zmenší.

  1. Co si budeme povídat, kdo má prachy vládne všem, Intel ty Lego žabáky z AMD už mohl dávno sprovodit ze světa, ale nemůže, bohužel jim musel prodat za kačku licenci aby stvořili Ryzen a mohli dýchat a být tak tou konkurencí, kterou antimonopolní úřad vyžaduje.