ARM uvedl nová jádra Cortex-A78 a Cortex-X1. O 30 % lepší IPC, výkon konkurující Applu

Cortex-A78 je spíš mírná evoluce jádra A77 a hlavně zlepšuje spotřebu. Cortex-X1 je však první z nové linie jdoucí po maximálním výkonu konkurujícím Applu (a Intelu/AMD).

3

V posledních letech vydává ARM každý rok nové „big“ jádro pro mobily – loni Cortex-A77, o rok před tím Cortex-A76 a tak dále. Letos to bude trochu jiné. Vychází totiž další pokračovatel v této linii Cortex-A78, ale zároveň ještě jedno výkonnější jádro.

Novinka Cortex-X1 otevírá nový o třídu vyšší výkonnostní segment a ARM se v této linii pouští za vyšším výkonem se širším jádrem. Pokud vám vadilo, že jádra ARM Cortex se zaměřují jenom na energetickou efektivitu a minimalizaci zabrané plochy na čipu a nekonkurují ve hrubém výkonu jádrům Apple, linie Cortex X jde přesně po tomto: výkonnější a „širší“ architektuře s vyšším IPC.

Předchozí
Následující

Cortex-A78: další zvýšení výkonu se štíhlým jádrem

Nejdříve se podíváme na Cortex-A78, jenž bude mainstreamovým jádrem, s nímž se asi budeme setkávat v největším počtu mobilních čipů. Jeho design vychází z linie Cortexu-A76 (2018) a následujícího Cortexu-A77, které vyvíjí americký tým v Austinu. Kódové označení je jinak Hercules.

Jádro má opět out-of-order architekturu s instrukční sadou ARMv8.2 a architektura je optimalizována na to, aby měla i poměrně vysoký výkon, ale aby to zůstáválo v rovnováze s malou plochou zabranou na čipu a nízkou spotřebou.

Slajdy k vydání architektury ARM Cortex A78 – 01Zlepšení proti A77 začínají v prediktoru větvení, který nyní dokáže zpracovat dvě větvení za takt místo jednoho (a pravděpodobně bude mít i lepší úspěšnost). Podobně mají být zlepšené prefetchery, které jsou opět schopné o něco úspěšněji odhadnout, jaká data bude program potřebovat.

Slajdy k vydání architektury ARM Cortex A78 – 03Mnohé úpravy byly provedeny ne pro výkon, ale pro vyšší energetickou efektivitu (zmenšení některých struktur v prediktoru). Pro zákazníky, kteří chtějí úspornější a menší jádro, je nyní dostupná volitelná možnost zmenšit L1 cache pro instrukce i data, z 64+64 na 32+32 KB (asi je možné zmenšit i jen jednu z nich).

Slajdy k vydání architektury ARM Cortex A78 – 05Velkou inovací jádra A77 byla uOP cache (respektive, ARM jí říká mOP/macroOP cache) která ukládá už dekódované instrukce. To umožňuje obejít dekódování například ve velké části operací. Její velikost byla zachována v kapacitě 1500 macroOPů. Také kapacita dekodérů (4 instrukce/takt) zůstává, mOP cache dokáže produkovat 6 mOPů za takt, což je opět beze změny.

Stejné počty jednotek, ale přepracované pro větší efektivitu

Výpočetní backend má čtyři ALU, dvě jednotky pro větvení a FPU/SIMD část má dvě 128bitové pipeline pro instrukce NEON – výkonnější SIMD instrukční sada SVE/SVE2 ještě podporována není, nicméně toto by prý možná mohla změnit následující architektura příští rok. Ta podle různých drbů už má být s instrukční sadou ARMv9, jež prý odstraní 32bitový režim a bude v základu obsahovat SVE2.

Slajdy k vydání architektury ARM Cortex A78 – 07
Počty jednotek nechal ARM Cortex A78 stejné

Jedna z mála změn v počtu (přesněji ale schopnostech) jednotek je, že celočíselné násobení podporují dvě ALU místo jen jedné. Dvě ALU jsou jednoduché, třetí má navíc i násobičku, čtvrtá je už plná MAC (tj, také s podporou násobení) a také podporuje dělení.

Posílené Load/Store

Load/Store část jádra pro operace s pamětí je ale už posílená. Cortex-A77 měl dvě AGU provádějící jak čtení, tak zápis. Architektura A78 přidává třetí, která je určená čistě pro čtení. A78 tedy zvládne tři čtení za takt (nebo třeba jedno čtení, dva zápisy). Pro srovnání: Intel Ice Lake (Sunny Cove) má čtyři pipeline, umožňující dvě čtení a dvě dva zápisy za cyklus, AMD Zen 2 umožňuje dvě čtení a jeden zápis za jeden cyklus.

Také je zvýšená kapacita přenosu mezi Load jednotkami a L1 datovou cache, z níž čtou: z 16 bajtů za takt na 32 bajtů. Zdvojnásobila se také kapacita mezi L1 a L2 cache, ale u L2 cache byl TLB zmenšen ze 1280 na 1024 stránek, opěr kompromis pro lepší efektivitu. L2 cache je 512KB.

Slajdy k vydání architektury ARM Cortex A78 – 08Out-of-order fronty podobné jako loni, někde i menší

Reorder Buffer má stejnou kapacitu 160 instrukcí, design se opět soustředil na zvýšení jeho efektivity. Celkové „okno“ out-of-order vykonávání kódu bylo ale dokonce menší proti A77 (některé další fronty se zkrátily), protože jeho zvětšování údajně není tak efektivní a cílem byla co nejvyšší efektivita.

ARM v jádru provedl změny na nižší úrovni, kdy se různě zvyšuje efektivita, například issue fronty mají mít výrazně lepší spotřebu. Fyzický soubor registrů má také efektivnější návrh, takže potřebuje méně místa při stejných schopnostech. Více operací nyní může procesorem jít sfůzovaných dohromady, takže se ze stejného počtu jednotek a hloubky front vydře více reálného výkonu

Tato jádra jsou navržená pro kombinaci s propojovací logikou DynamiQ jako předchozí a stále se budou používat v (až) čtyřjádrových klastrech, které mohou mít 512 KB až 4MB L3 cache. Těchto klastrů pak může být v čipu více, nebo mohou další klastry být tvořené jinými jádry (in-order Cortex-A55) v big.LITTLE čipech.

Článek pokračuje na další stránce.

Předchozí
Následující

3 KOMENTÁŘE