Samsung Austin R&D Center odhaluje podrobnosti o své dosud nevydané mikroarchitektuře CPU Exynos M6

Samsung Austin Research & Development Center (SARC) vydal dokument podrobně popisující mikroarchitekturu zrušeného vlastního CPU jádra Exynos M6.

Víme, že vlastní projekt jádra CPU ve výzkumném a vývojovém centru Samsung v Austinu (SARC) došlo ke konci v říjnu 2019. Pro projekt, který byl s takovou fanfárou propagován uvedením Exynos 8890 s Exynos M1 v roce 2016, to byl smutný konec. Proč SARC složil projekt? Vlastní jádro Exynos M5, které je součástí Exynos 990 SoC je posledním plně vlastním jádrem navrženým společností Samsung pro dohlednou budoucnost a při zpětném pohledu je snadné pochopit, proč se Samsung vzdal vlastních jader, protože jednoduše nebyla dostatečně konkurenceschopná. Nyní je známo, že jádro Exynos M5 má 100% deficit energetické účinnosti proti Cortex-A77 od ARM, který říká hodně. Přesto to tak nemuselo dopadnout. Návrhy Exynos M1 a Exynos M2 ukázaly určitý slib a projekt vlastního CPU jádra byl v té době považován za důležitý pro konkurenci v mobilním CPU prostoru. Exynos M3 byl velkým poklesem navzdory velkému nárůstu IPC

Exynos M4 a Exynos M5 nedokázal držet krok s IP CPU CPU společnosti ARM. Jaké byly mikroarchitektonické změny v dalším vlastním jádru, zrušeném Exynos M6?

Doposud nebyla odpověď na tuto otázku známa. Nyní však vývojový tým CPU SARC představil dokument s názvem „Evoluce architektury Samsung Exynos CPU Architecture“ (který jsme poznali prostřednictvím AnandTech) na International Symposium for Computer Architecture (ISCA), což je konference IEEE. Odhaluje spoustu podrobností o předchozích CPU řady Exynos M a také o architektuře zrušeného Exynos M6.

Dokument předložený vývojovým týmem CPU SARC podrobně popisuje úsilí týmu během jeho osmileté existence a také odhaluje klíčové detaily vlastních jader ARM od Exynos M1. (Mongoose) na současnou generaci Exynos M5 (Lion) a dokonce i nevydaný procesor Exynos M6, u kterého se před zrušením očekávalo, že bude součástí SoC Exynos 990 pro rok 2021. nástupce.

Tým SARC CPU společnosti Samsung byl založen v roce 2011, aby vyvíjel vlastní CPU jádra, která byla poté uvedena v Samsung Systems. SoC Exynos od LSI. První Exynos SoC, který používal vlastní jádro, byl Exynos 8890, který byl uveden v roce 2016 v Samsungu Galaxy. S7. Vlastní jádra zůstala součástí Exynos SoC až do Exynos 990 s jádry Exynos M5, která se vyskytovala ve variantách Samsung Galaxy S20 poháněných Exynosem. (Blížící se Exynos 992, pravděpodobně součástí Galaxy Note 20, se očekává, že bude obsahovat ARM Cortex-A78 a ne Exynos M5.) Nicméně SARC dokončil architekturu Exynos M6 dříve, než tým CPU dostal zprávu o jejím rozpuštění v říjnu 2019, přičemž rozpuštění vstoupilo v platnost v Prosinec.

Dokument ISCA obsahuje přehledovou tabulku mikroarchitektonických rozdílů mezi vlastními jádry CPU Samsung od Exynos M1 po Exynos M6. Některé z dobře známých charakteristik designu společnost odhalila ve svém počátečním hlubokém ponoru do architektury procesoru M1 na akci HotChips 2016. Na HotChips 2018 se Samsung hluboce ponořil do Exynos M3. Architektura jader Exynos M4 a Exynos M5 byla také podrobně popsána, stejně jako architektura M6.

Zdroj: SARC

AnandTech poznamenává, že jednou z klíčových charakteristik návrhů Samsungu v průběhu let bylo, že byly založeny na stejném plánu RTL, který byl zahájen s jádrem Exynos M1 Mongoose. Samsung v průběhu let pokračoval ve vylepšování funkčních bloků jader. Exynos M3 představoval změnu od prvních iterací, protože podstatně rozšířil jádro v několika ohledech, od 4-širokého designu na 6-široké střední jádro. (Apple A11, A12 a A13 mají naopak šířku dekódování 7, zatímco Cortex-A76, A77 a A78 mají šířku 4. Cortex-X1 zvětšuje šířku dekódování na 5 šířky.)

Zpráva také obsahuje některá zveřejnění, která nebyla dříve zveřejněna ohledně Exynos M5 a M6. U modelu Exynos M5 společnost Samsung provedla větší změny v hierarchii mezipaměti jader a nahradila soukromé mezipaměti L2 novými větší sdílená mezipaměť a také odhalení změny ve struktuře L3 z 3-bankového designu na 2-bankový design s méně latence.

Zrušené jádro M6 by bylo z hlediska mikroarchitektury větším skokem. SARC provedl velká vylepšení, jako je zdvojnásobení instrukcí L1 a mezipaměti dat z 64KB na 128KB - AnandTech poznamenává, že se jedná o designovou volbu, kterou dosud implementovaly pouze jádra Apple řady A, počínaje Apple A12.

L2 byla zdvojnásobena ve svých možnostech šířky pásma až na 64 B/cyklus, zatímco L3 by zaznamenala nárůst ze 3 MB na 4 MB. Exynos M6 by byl 8-široké dekódovací jádro. Jak poznamenal AnandTech, jednalo by se o nejširší komerční mikroarchitekturu v současnosti známou z hlediska dekódování. I když bylo jádro mnohem širší, celočíselné prováděcí jednotky nezaznamenaly mnoho změn. Jedno komplexní potrubí přidalo možnost druhého celočíselného dělení, zatímco potrubí zatížení/úložiště zůstalo stejné jako u M5 s jednou nákladovou jednotkou, jednou skladovou jednotkou a jednou nákladovou/skladovací jednotkou. Potrubí s plovoucí desetinnou čárkou/simd by vidělo další čtvrtou jednotku se schopnostmi FMAC. L1 DTLB bylo zvýšeno ze 48 stránek na 128 stránek a hlavní TLB bylo zdvojnásobeno ze 4K na 8K stránek (32MB pokrytí).

Exynos M6 by představoval další významnou změnu od svých předchůdců zvýšením okna mimo pořadí jádra od prvního okamžiku od M3. Existovaly by větší celočíselné soubory a soubory fyzických registrů s pohyblivou řádovou čárkou a ROB (Reorder Buffer) by se zvýšil z 228 na 256. AnandTech poznamenává, že jedna důležitá slabina vlastních jader Exynos je stále přítomná na M5 a byla by přítomna i na M6. Bylo by to jeho hlubší zřetězení, které by mělo za následek nákladnou 16-ti cyklovou penalizaci za nesprávnou předpověď, která byla vyšší než u CPU jader ARM, která mají 11-cyklovou penalizaci za chybnou předpověď. Dokument SARC jde ještě hlouběji do návrhu větveného prediktoru a představuje návrh jádra CPU založený na Scaled Hashed Perceptron. Tento návrh by se v průběhu let a implementací neustále zlepšoval, zlepšoval by přesnost větví a průběžně omezoval nesprávné předpovědi na kilo-instrukce (MPKI). SARC představuje tabulku, která ukazuje množství struktur úložiště, které prediktor větve zabírá v rámci front-endu. Technologie předběžného načítání jádra byly také podrobně popsány v dokumentu, který se zabývá zavedením mezipaměti µOP v M5, stejně jako úsilí týmu o posílení jádra proti bezpečnostním zranitelnostem, jako je např. Přízrak.

Snahy o zlepšení latence paměti u vlastních jader Exynos také podrobně popsal SARC v článku. V Exynos M4 tým SARC začlenil mechanismus kaskády zátěže a zátěže, který snížil efektivní latenci cyklu L1 ze čtyř cyklů na tři při následujících zátěžích. Jádro M4 také představilo obcházení cesty s novým rozhraním z jader CPU přímo do paměťových řadičů, což zamezilo provozu přes propojení. Podle AnandTech, to vysvětluje některá z větších vylepšení latence, která byla publikace schopna měřit s Exynos 9820. Exynos M5 představil spekulativní bypass vyhledávání mezipaměti, který vydal požadavek na propojovací i na cache tagy současně. To by možná ušetřilo latenci v případě vynechání mezipaměti, protože probíhá požadavek na paměť. Průměrná latence zatížení se také během generací průběžně zlepšovala z 14,9 cyklů na M1 na 8,3 cyklů na M6.

Zatímco výše uvedené mikroarchitektonické charakteristiky jsou poměrně technické, nadšenci CPU budou obeznámeni s termínem Instructions Per Clock (IPC), což znamená na MHz. výkon ve výkonu jednovláknového procesoru (je to primární hlavní faktor určující výkon jednovláknového procesoru, přičemž druhým faktorem je rychlost hodin jádro). Integer IPC a floating-point IPC jsou oba determinanty IPC. Týmu SARC se podařilo dosáhnout v průměru 20% ročních vylepšení z M1 na M6. Zejména M3 představovala velké procentuální zlepšení IPC, i když ji zklamaly další faktory. Exynos M5 představoval 15-17% zlepšení IPC, zatímco zlepšení IPC pro nevydaný Exynos M6 bylo zveřejněno, že má průměr 2,71 oproti 1,06 pro M1, což představuje 20% zlepšení oproti M5.

Brian Grayson, přednášející novin, odpověděl na otázky týkající se zrušení programu během zasedání Q&A. Řekl, že tým byl vždy na cíl a podle plánu se zlepšováním výkonu a efektivity s každou generací. (Znamená to, že cíle nebyly dostatečně vysoké?). Na druhou stranu největší problém týmu spočíval v tom, že byl extrémně opatrný s budoucností změny designu, protože tým neměl prostředky na to, aby začal od nuly nebo úplně přepsal a blok. Při zpětném pohledu by tým v minulosti s některými směry designu udělal různá rozhodnutí. V ostrém kontrastu má ARM několik týmů CPU pracujících na různých místech, které spolu ve skutečnosti soutěží. To umožňuje „základní re-designy“, jako je např Cortex-A76. The Cortex-A77 a Cortex-A78 jsou přímými nástupci A76.

Tým SARC měl nápady na vylepšení pro nadcházející jádra, jako je hypotetický Exynos M7. Nicméně, byl to údajně velmi vysoko postavený člověk v Samsungu, který se rozhodl zrušit vlastní základní program. Tak jako AnandTech poznamenává, že vlastní jádra nebyla konkurenceschopná, pokud jde o energetickou účinnost, výkon a využití oblasti (PPA) ve srovnání s CPU ARM jakékoli konkrétní generace. Minulý měsíc společnost ARM oznámila program Cortex-X Custom s novinkou Cortex-X1, jádro nové generace určené pro mobilní zařízení do roku 2021. Jeho filozofií designu je prolomit obálku Cortex-A PPA a místo toho jít na absolutní výkon. Exynos M6 by s ním měl tedy těžké konkurovat. I tak se zdá, že Samsung nebude přizpůsobovat Cortex-X1 a půjde pouze s kombinací Cortex-A78 + Cortex-A55 v Exynos 992 – může však být přijata ve vlajkové lodi Galaxy S příštího roku.

Tým SARC stále v současné době navrhuje vlastní propojení a paměťové řadiče pro Samsung Systems LSI. Pracovalo také na vlastních architekturách GPU, ale Samsung Systems LSI podepsal smlouvu s AMD používat architekturu GPU RDNA nové generace AMD (Next graphics architecture) v budoucích GPU Exynos od roku 2021.

Celkově byl projekt vlastního jádra CPU poučnou lekcí pro dodavatele mobilních čipů o tom, co se může pokazit. Tým SARC CPU měl vysoké ambice konkurovat společnosti Apple, která je nesporným lídrem v oblasti mobilních CPU. Bohužel se nepodařilo konkurovat ARM, nemluvě o Apple. Problémy mohly být vyřešeny, ale rok co rok bylo úsilí SARC krok nebo dva pozadu a nepříznivě se to projevilo v přepravě produktů, jako jsou varianty Exynos 9810 Samsungu Galaxy S9. Nyní budou všichni hlavní výrobci mobilních čipů Android používat IP CPU CPU ARM od roku 2021 a tento seznam zahrnuje Qualcomm, Samsung, MediaTek a HiSilicon. Boj ponese Apple s jádry, jako je Cortex-X1, nikoli vlastními ARM jádry navrženými od nuly.


Zdroj: Vývoj architektury procesoru Samsung Exynos | Přes: AnandTech