Center za raziskave in razvoj Samsung Austin (SARC) je izdal dokument, v katerem je podrobno opisana mikroarhitektura preklicanega jedra procesorja Exynos M6 po meri.
Vemo, da je projekt jedra procesorja po meri v Samsungovem centru za raziskave in razvoj v Austinu (SARC) prišel do konca oktobra 2019. Za projekt, ki je bil leta 2016 tako glasno promoviran z lansiranjem Exynos M1 z Exynos 8890, je bil to žalosten konec. Zakaj je SARC prekinil projekt? Jedro po meri Exynos M5, predstavljeno v Exynos 990 SoC je zadnje popolnoma prilagojeno jedro, ki ga je Samsung zasnoval v dogledni prihodnosti, in za nazaj je lahko videti, zakaj se je Samsung odrekel jedrom po meri, saj preprosto niso bila dovolj konkurenčna. Zdaj je znano, da jedro Exynos M5 ima 100% primanjkljaj energetske učinkovitosti proti ARM-ovemu Cortex-A77, kar pove veliko. Pa vendar se ni moralo izteči tako. Zasnovi Exynos M1 in Exynos M2 sta pokazali nekaj obetav, projekt jedra procesorja po meri pa se je takrat zdel pomemben zaradi konkurence v prostoru mobilnih procesorjev. Exynos M3 je bil velik upad kljub velikemu povečanju IPC in
Exynos M4 in Exynos M5 ni uspel dohajati ARM-ovega standardnega CPU IP. Kakšne so bile mikroarhitekturne spremembe v naslednjem jedru po meri, preklicanem Exynos M6?Do sedaj odgovor na to vprašanje ni bil znan. Zdaj pa je ekipa za razvoj procesorjev SARC predstavila članek z naslovom "Razvoj arhitekture procesorja Samsung Exynos" (ki smo ga izvedeli prek AnandTech) na mednarodnem simpoziju za računalniško arhitekturo (ISCA), ki je konferenca IEEE. Razkriva veliko podrobnosti o prejšnjih procesorjih serije Exynos M, kot tudi o arhitekturi preklicanega Exynosa M6.
Članek, ki ga je predstavila ekipa za razvoj procesorjev SARC, podrobno opisuje prizadevanja ekipe v njenem osemletnem obstoju in razkriva tudi ključne podrobnosti prilagojenih jeder ARM, od Exynos M1 (Mongoose) do trenutne generacije Exynos M5 (Lion) in celo neobjavljenega CPE-ja Exynos M6, za katerega se je pred preklicem pričakovalo, da bo vključen v SoC Exynos 990 2021 naslednik.
Samsungova skupina za CPU SARC je bila ustanovljena leta 2011 za razvoj jeder CPU po meri, ki so bila nato predstavljena v Samsung Systems SoC Exynos podjetja LSI. Prvi Exynos SoC, ki je uporabljal jedro po meri, je bil Exynos 8890, ki je bil leta 2016 predstavljen v Samsung Galaxyju. S7. Jedra po meri so ostala del procesorjev Exynos SoC do Exynos 990 z jedri Exynos M5, ki so bila predstavljena v različicah Samsung Galaxy S20, ki jih poganja Exynos. (Prihajajoči Exynos 992, ki bo verjetno vključen v Galaxy Note 20, naj bi vseboval ARM Cortex-A78 in ne Exynos M5.) Vendar je SARC dokončal arhitekturo Exynos M6, preden je ekipa CPU prejel novico o razpustitvi oktobra 2019, razpustitev pa je začela veljati v decembra.
Prispevek ISCA vsebuje pregledno tabelo mikroarhitekturnih razlik med Samsungovimi CPE jedri po meri od Exynos M1 do Exynos M6. Nekatere dobro znane značilnosti zasnove je podjetje razkrilo v svojem začetnem poglobljenem poglobljenem potopu v arhitekturo M1 CPU na dogodku HotChips 2016. Na sejmu HotChips 2018 se je Samsung poglobljeno posvetil Exynos M3. Podrobno je opisana tudi arhitektura jeder Exynos M4 in Exynos M5 ter jedra M6.
AnandTech ugotavlja, da je bila ena ključna značilnost Samsungovih zasnov v preteklih letih ta, da so temeljile na istem načrtu RTL, ki se je začel z jedrom Exynos M1 Mongoose. Samsung je v preteklih letih še naprej izboljševal funkcionalne bloke jeder. Exynos M3 je predstavljal spremembo v primerjavi s prvimi iteracijami, saj je bistveno razširil jedro v več pogledih, od 4-široke oblike do 6-široke srednjega jedra. (Apple A11, A12 in A13 imajo na drugi strani 7-širino širino dekodiranja, medtem ko imajo Cortex-A76, A77 in A78 4-širino širino. Cortex-X1 poveča širino dekodiranja na 5-širino.)
Poročilo vsebuje tudi nekaj razkritij, ki prej niso bila javna v zvezi z Exynos M5 in M6. Za Exynos M5 je Samsung naredil večje spremembe v hierarhiji predpomnilnikov jeder in zamenjal zasebne predpomnilnike L2 z novim večji skupni predpomnilnik kot tudi razkritje spremembe v strukturi L3 iz 3-bančne zasnove v 2-bančno zasnovo z manj zakasnitev.
Odpovedano jedro M6 bi pomenilo večji skok v smislu mikroarhitekture. SARC je naredil velike izboljšave, kot je podvojitev navodil L1 in podatkovnih predpomnilnikov s 64 KB na 128 KB - AnandTech ugotavlja, da je to oblikovalska izbira, ki je bila do zdaj uporabljena samo v Applovih jedrih serije A, začenši z Apple A12.
Zmogljivosti pasovne širine L2 so se podvojile do 64 B/cikel, medtem ko bi se L3 povečal s 3 MB na 4 MB. Exynos M6 bi bil 8-široko jedro za dekodiranje. Kot ugotavlja AnandTech, bi bila to najširša komercialna mikroarhitektura, ki je trenutno znana v smislu dekodiranja. Čeprav je bilo jedro veliko širše, enote za izvajanje celih števil niso doživele veliko sprememb. En zapleten cevovod je dodal drugo zmožnost deljenja celih števil, medtem ko so cevovodi za nalaganje/shranjevanje ostali enaki kot pri M5 z eno enoto za nalaganje, eno enoto za shranjevanje in eno enoto za nalaganje/shranjevanje. Cevovodi s plavajočo vejico/SIMD bi imeli dodatno četrto enoto z zmogljivostmi FMAC. L1 DTLB je bil povečan z 48 strani na 128 strani, glavni TLB pa se je podvojil s 4K strani na 8K strani (pokritost 32 MB).
Exynos M6 bi predstavljal še eno pomembno spremembo v primerjavi s svojimi predhodniki, saj bi prvič po M3 povečal okno izven reda jedra. Obstajale bi večje fizične registrske datoteke s celimi števili in plavajočo vejico, ROB (medpomnilnik za preureditev) pa bi se povečal z 228 na 256. AnandTech ugotavlja, da je ena pomembna slabost prilagojenih jeder Exynos še vedno prisotna na M5 in bi bila prisotna tudi na M6. Njegove globlje faze cevovoda bi povzročile drago 16-ciklično kazen za napačno predvidevanje, ki je bila višja od CPE-jevih jeder ARM, ki imajo 11-ciklično kazen za napačno predvidevanje. Dokument SARC se še bolj poglobi v zasnovo napovedovalca vej in prikazuje zasnovo, ki temelji na skaliranem zgoščenem perceptronu CPE-jedra. Ta zasnova bi se z leti in implementacijami nenehno izboljševala, izboljšala natančnost razvejanja in nenehno zmanjševala napačne napovedi na kilogram navodil (MPKI). SARC predstavlja tabelo, ki prikazuje količino pomnilniških struktur, ki jih zavzame napovedovalec vej v sprednjem delu. Tehnologije vnaprejšnjega pridobivanja jedra so bile prav tako podrobno opisane v članku, ki zajema uvedbo predpomnilnika µOP v M5, kot tudi prizadevanja ekipe za utrjevanje jedra proti varnostnim ranljivostim, kot je npr. Spekter.
Prizadevanja za izboljšanje zakasnitve pomnilnika v jedrih Exynos po meri je SARC prav tako podrobno opisal v članku. V Exynos M4 je skupina SARC vključila kaskadni mehanizem obremenitev-obremenitev, ki je zmanjšal efektivno zakasnitev cikla L1 s štirih na tri pri naslednjih obremenitvah. Jedro M4 je uvedlo tudi obvod poti z novim vmesnikom od jeder CPU neposredno do pomnilniških krmilnikov, ki se je izognil prometu prek medsebojne povezave. Po navedbah AnandTech, je to pojasnilo nekatere večje izboljšave zakasnitve, ki jih je publikacija lahko izmerila z Exynos 9820. Exynos M5 je uvedel špekulativni obhod iskanja predpomnilnika, ki je istočasno izdal zahtevo za medsebojno povezavo in oznake predpomnilnika. To bi morda prihranilo pri zakasnitvi v primeru zgrešenega predpomnilnika, ko je zahteva po pomnilniku v teku. Tudi povprečna zakasnitev obremenitve se je med generacijami nenehno izboljševala s 14,9 ciklov pri M1 na 8,3 ciklov pri M6.
Čeprav so zgornje mikroarhitekturne značilnosti precej tehnične, bodo navdušenci nad procesorji poznali izraz Instructions Per Clock (IPC), kar pomeni na MHz zmogljivost pri enonitni zmogljivosti procesorja (to je primarni glavni dejavnik, ki določa zmogljivost enonitnega procesorja, drugi dejavnik pa je urna hitrost procesorja jedro). Integer IPC in IPC s plavajočo vejico sta oba determinanta IPC. Ekipi SARC je uspelo pridobiti povprečno 20% letnih izboljšav od M1 do M6. Zlasti M3 je predstavljal velik odstotek izboljšave IPC, čeprav so ga razočarali drugi dejavniki. Exynos M5 predstavlja 15–17-odstotno izboljšanje IPC, medtem ko je izboljšanje IPC za neobjavljeni Exynos M6 je bilo razkrito, da ima povprečje 2,71 v primerjavi z 1,06 za M1, kar predstavlja 20-odstotno izboljšanje v primerjavi z M5.
Brian Grayson, voditelj časopisa, je med sejo vprašanj in odgovorov odgovoril na vprašanja o odpovedi programa. Dejal je, da je ekipa vedno dosegala cilj in po urniku z izboljšavami uspešnosti in učinkovitosti z vsako generacijo. (Ali to pomeni, da cilji že na začetku niso bili dovolj visoki?). Po drugi strani pa je bila največja težava ekipe v tem, da je bila zelo previdna glede prihodnosti spremembe zasnove, saj ekipa ni imela sredstev, da bi začela iz nič ali popolnoma prepisala a blok. Če pogledamo nazaj, bi ekipa v preteklosti sprejela drugačne odločitve z nekaterimi smernicami oblikovanja. V popolnem nasprotju ima ARM več ekip CPE, ki delajo na različnih lokacijah in dejansko tekmujejo med seboj. To omogoča "preoblikovanje temeljev", kot je npr Cortex-A76. The Cortex-A77 in Cortex-A78 sta neposredna naslednika A76.
Ekipa SARC je imela ideje za izboljšave prihajajočih jeder, kot je hipotetični Exynos M7. Vendar naj bi bila zelo visoka oseba pri Samsungu tista, ki se je odločila preklicati osnovni program po meri. Kot AnandTech Upoštevajte, da jedra po meri niso bila konkurenčna v smislu energetske učinkovitosti, zmogljivosti in uporabe območja (PPA) v primerjavi s procesorji ARM katere koli posamezne generacije. Prejšnji mesec je ARM objavil program Cortex-X Custom, ki vključuje novo Cortex-X1, jedro naslednje generacije, namenjeno mobilnim napravam leta 2021. Ima filozofijo oblikovanja, da prekine ovojnico Cortex-A PPA in se namesto tega odloči za absolutno zmogljivost. Exynos M6 bi mu torej težko konkuriral. Kljub temu se zdi, da Samsung ne bo prilagodil Cortex-X1 in bo uporabil le kombinacijo Cortex-A78 + Cortex-A55 v Exynosu 992 – morda pa bo sprejet v vodilnem modelu Galaxy S prihodnje leto.
Ekipa SARC še vedno oblikuje medsebojne povezave po meri in pomnilniške krmilnike za Samsung Systems LSI. Delal je tudi na prilagojenih arhitekturah GPE, vendar Samsung Systems LSI podpisal pogodbo z AMD za uporabo AMD-jeve naslednje generacije (Next graphics architecture) arhitekture RDNA GPU v prihodnjih grafičnih procesorjih Exynos, z začetkom leta 2021.
Na splošno je bil projekt jedra procesorja po meri nazorna lekcija za prodajalce mobilnih čipov o tem, kaj gre lahko narobe. Ekipa SARC CPE je imela velike ambicije tekmovati z Appleom, ki je nesporen vodja na področju mobilnih CPE. Na žalost ni uspel konkurirati ARM-u, niti Apple-u. Težave bi se lahko rešile, a leto za letom so prizadevanja SARC zaostajala korak ali dva in to se je negativno odrazilo pri pošiljanju izdelkov, kot so različice Exynos 9810 za Samsung Galaxy S9. Zdaj bodo vsi glavni prodajalci mobilnih čipov za Android od leta 2021 uporabljali ARM-ov standard CPU IP, ta seznam pa vključuje Qualcomm, Samsung, MediaTek in HiSilicon. Boj bo vodil Apple z jedri, kot je Cortex-X1, ne pa z jedri ARM po meri, zasnovanimi iz nič.
Vir: Razvoj arhitekture procesorja Samsung Exynos | prek: AnandTech