Samsung má ARM jádro, které může konkurovat Applu a Intelu. Exynos M3 slibuje vysoké IPC

25. 1. 2018

Sdílet

 Autor: Samsung

Ve světě mobilních telefonů panuje zvláštní situace. Apple už před několika lety vyvinul silná jádra s vysokým výkonem na 1 Mhz. Jejich „IPC“ je někdy dokonce považováno za blízké jádrům Intelu, i když situaci dost možná zkresluje nedostatek skutečně reprezentativních a srovnatelných benchmarků. Zbytek mobilního trhu běžící na Androidu (nebo mobilních Windows) má ale k dispozici jen podstatně slabší jádra ARM Cortex. Tyto nerovné podmínky co do procesorového výkonu by ovšem možná nyní mohl prolomit Samsung.

Samsung se cestou vlastních procesorových jader vydal zhruba před dvěma lety s architekturou Exynos M1. Tyto první kroky byly poměrně nenápadné, tým vyvíjející jádra CPU evidentně nejprve věci oťukával a nesnažil se o ambiciózní architekturu na první pokus. Zdá se ale, že jeho chvíle přijde s jádrem Exynos M3, které se má letos objevit v Exynosu 9810. Samsung k němu už dřív sdělil, že má mít až dvojnásobný jednovláknový výkon a nyní máme doklady, že nemusí jít jen o plané sliby. Vnitřnosti jádra budou totiž razantně posílené. Bez diskuze asi jde o tzv. „velké“ či „široké“ jádro, které by mělo výrazně navýšit IPC procesoru. Možná ne nepodobně tomu, jak zvedlo výkon jádro Zen v procesorech AMD.

Výrazně širší architektura

Informace o architektuře jádra Exynos M3 se nyní dostaly na svět skrze překladače GCC a LLVM, kam Samsung přispívá a nyní zaslal model jádra. Podle toho se inženýři Samsungu „rozšoupli“ prakticky ve všech ohledech. Již na počátku ve „frontendu“ je o 50 % zvýšena kapacita dekódování. Zatímco Exynos M1 a M2 měly čtyři dekodéry, M3 přidává dva další a umožňuje tedy dekódovat šest instrukcí za takt. Takto mimochodem začínala i cesta velkých jader Apple.

Ještě radikálněji Samsung zvětšil tzv. reorder buffer, což je fronta, v které se přeorganizovává pořadí instrukcí pro provádění instrukcí mimo původní pořadí (out-of-order). Čím větší tato fronta je, tím větší „okno“ má procesor pro přehazování operací a tím více může kód zoptimalizovat, čímž out-of-order CPU zvyšuje svůj výkon. Někdy se mluví o „vyextrahování“ příležitosti k paralelnímu zpracování instrukcí ve výpočetních jednotkách jádra. Exynos M3 má reorder buffer o velikosti 228 položek, což je zvětšení více na dvojnásobek (Exynos M1 a M2 má jen 96 položek). Mimochodem by mělo jít o srovnatelnou hodnotu jako u jádra Skylake, pro které Intel uvádí velikost „out-of-order window“ jako 224 položek.

Popis architektury Exynos M3 v patchích pro LLVM Popis architektury Exynos M3 v patchích pro LLVM

Více ALU

Procesor má také větší počet pipeline v samotné vykonávací části, i když zde na první pohled není navýšení tak razantní, pipeline je dvanáct místo devíti v předchozích návrzích. Ovšem dopad by měl být značný, Samsung posílil ALU, FPU i load/store. U celočíselné části má jádro dvě jednoduché ALU pipeline, což zůstává beze změn. Pro složitější operace jako násobení jsou přítomné dvě komplexní ALU, které zvládají i jednochudé instrukce, takže celkově jsou ALU čtyři (v Exynosu M1/M2 byly jen dvě jednoduché a jedna komplexní, tudíž výpočetních zdrojů je podle operace o 33 % nebo o 100 % víc). Posílena je také celočíselná dělička, dělení se zrychlilo ze 21 na 12 cyklů.

Operace s pamětí (cache) budou také mít lepší výkon. Dříve Samsung používal kombinaci jedné jednotky pro načítání (load) a jedné pro ukládání (store). Exynos M3 ponechává jednu store pipeline, ale pipeline load jsou dvě, takže čtecích operací lze provádět dvojnásobek za cyklus. Jednotky pro větvení zůstávají dvě. Jednotlivé pipeline v celočíselné a load/store části mají zřejmě oddělené schedulery, zatímco jednotka FPU, která zpracovává i SIMD instrukce Neon, je částečně oddělená a má vlastní unifikovaný scheduler. Prakticky stejně je to i v jádru Zen od AMD.

Schéma jádra Exynos M3 s šířkami jednotlivých fází vykonávání, sestavené webem AnandTech Schéma jádra Exynos M3 s šířkami jednotlivých fází vykonávání, sestavené webem AnandTech

Výkonnější FPU

Právě FPU možná Samsung posílil nejvíce. Jádra Exynos M1 a M2 měla dvě pipeline pro floating point a SIMD instrukce, Exynos M3 přidává třetí. Pro jednoduché operace to znamená 50% navýšení dostupných prostředků. Ovšem dříve byla propustnost pro některé instrukce jen jedna operace za cyklus, kdežto nyní mají všechny tři pipeline provádět SIMD součty i násobení, takže u těchto operací se kapacita zvedla o 200 %. Toto výrazně zvyšuje výkon například pro multimédia (bude se hodit k dekódování videa ve formátu AV1, pro které zatím nejsou vyhrazené akcelerátory). Výkon dál podpoří to, že latence sčítání/odčítání byly sníženy ze tří na dva cykly (násobení má latenci čtyři cykly). Latence byla snížena také u floating-point dělení (z 15 na 12 cyklů). Výkon kryptografie AES má být nyní dvojnásobný, provádí ji dvě ze tří pipeline, SHA umí stále jen jedna.

Delší pipeline, vyšší spotřeba?

Exynos M3 má také hlubší pipeline, než užší jádra Cortex. Zatímco ta by měla mít 11 stupňů a předchozí jádra Exynos 13 stupňů, Exynos M3 obnáší ještě o dva stupně více. To na jednu stranu znamená, že chybně odhadnuté větvení má větší výkonnostní postih, na stranu druhou ale hlubší pipelining umožňuje vyšší frekvence. Připomeňme, že Exynos 9810 má údajně dosahovat takt až 2,9 GHz. Architektura ale určitě bude mít další optimalizované generace, u kterých nejspíš vyškáluje výš. Prediktor větvení byl údajně také vylepšen, což je ale něco, co se děje prakticky u každé nové architektury procesoru.

Samsung Exynos 9 Series 9810 Samsung Exynos 9 Series 9810

Některé další změny, jako možné optimalizace zefektivňující použití dostupných prostředků či konfigurace pamětí cache zatím neznáme. Tato zlepšení mohou v součtu také zlepšovat výkon. I čistě z rozmnožení výpočetních jednotek a „rozšíření“ jádra se ale zdá, že zvýšení IPC třeba i někde okolo 50 % by skutečně mohlo být na stole. Ono dvojnásobné zlepšení výkonu v jednom vlákně je pravděpodobně realizovatelné. Zvýšením taktu z 2,3 u předchozího SoC na 2,9 GHz dodává teoretické zrychlení o 26 % a Samsung by pak potřeboval ještě 60% zvýšení IPC. Onen dvojnásobek asi bude platit pro úlohy, kde se bude Exynosu M3 dařit nadprůměrně, jak už to v marketingu chodí, ale obecně řečeno toto jádro rozhodně bude velmi rychlé. A Samsung pravděpodobně na tento začátek bude dále navazovat, takže v budoucnu lze čekat ještě výkonnější architektury.

bitcoin_skoleni

Kromě výkonu ovšem rozšiřování jádra může zvyšovat spotřebu. Energetická efektivita pravděpodobně nestoupne stejně jako samotné IPC. Je pravděpodobné, že třeba při jednovláknovém boostu bude Exynos M3 mít vyšší spotřebu než starší jádra, Cortexy, nebo třeba jádra Kryo v co do spotřeby dost podařeném Snapdragonu 835. Při zátěži všech jader kvůli tomu možná SoC bude muset běžet na o něco nižších taktech než „malá jádra“. IPC by to stále mělo vynahrazovat, nicméně to znamená, že nárůst vícevláknového výkonu asi nebude tak razantní, jako u jednovláknového.

Rychlé procesory Samsungu se možná ukáží i v mobilech jiných firem

Působištěm Exynosů byly tradičně mobily Samsungu, takže na první pohled by se ve světě Androidu nezměnila situace tolik – podobně jako u platformy Apple by tyto rychlé procesory byly dostupné jen v mobilu jedné firmy. Ovšem svítají naděje, že by tomu tak být nemuselo. Podle zprávy webu DigiTimes údajně Samsung plánuje Exynosy začít prodávat ve větší míře i jiným výrobcům telefonů. Cílem je rozšířit si tržní záběr a příjmy. Samsung by tedy teoreticky mohl v některých telefonech nahradit čipy MediaTek nebo i Qualcomm. Právě Exynos 9810 by se svým vysokým výkonem v jednom vlákně (a tím i v benchmarcích) mohl být lákadlem, které by řadu firem mohlo přesvědčit k změně dodavatele. A tím by se tato silná jádra mohla v ekosystému Androidu stát častějším zjevem.