Samsung Austin R&D Center otkriva detalje svoje neobjavljene mikroarhitekture procesora Exynos M6

Samsung Austin Research & Development Center (SARC) objavio je rad s detaljima mikroarhitekture otkazane prilagođene CPU jezgre Exynos M6.

Znamo da prilagođeni projekt CPU jezgre u Samsungovom Austinskom centru za istraživanje i razvoj (SARC) došao kraj u listopadu 2019. Za projekt koji je promoviran uz takvu pompu lansiranjem Exynos M1 s Exynos 8890 2016., bio je to tužan kraj. Zašto je SARC odustao od projekta? Prilagođena jezgra Exynos M5, predstavljena u Exynos 990 SoC je posljednja potpuno prilagođena jezgra koju je Samsung dizajnirao u doglednoj budućnosti, a gledajući unatrag, lako je vidjeti zašto je Samsung odustao od prilagođenih jezgri, jer jednostavno nisu bile dovoljno konkurentne. Sada je poznato da jezgra Exynos M5 ima 100% manjak energetske učinkovitosti protiv ARM-ovog Cortex-A77, što puno govori. Ipak, nije moralo tako ispasti. Dizajni Exynos M1 i Exynos M2 obećavali su, a projekt prilagođene CPU jezgre se u to vrijeme smatrao važnim zbog konkurencije u prostoru mobilnih CPU-a. Exynos M3 bio je veliki pad unatoč velikom povećanju IPC-a, i

Exynos M4 i Exynos M5 nisu uspjeli držati korak s ARM-ovim standardnim CPU IP-om. Koje su mikroarhitektonske promjene u sljedećoj prilagođenoj jezgri, otkazanom Exynosu M6?

Do sada je odgovor na to pitanje bio nepoznat. Međutim, sada je SARC CPU razvojni tim predstavio rad pod nazivom "Evolucija Samsung Exynos CPU arhitekture" (za koju smo saznali putem AnandTech) na Međunarodnom simpoziju za računalnu arhitekturu (ISCA), koji je IEEE konferencija. Otkriva mnogo detalja o prethodnim procesorima Exynos M serije kao i arhitekturu otkazanog Exynos M6.

Rad koji je predstavio SARC-ov CPU razvojni tim detaljno opisuje napore tima tijekom osmogodišnjeg postojanja, a također otkriva ključne detalje prilagođenih ARM jezgri u rasponu od Exynos M1 (Mongoose) do trenutne generacije Exynos M5 (Lion), pa čak i neobjavljenog CPU-a Exynos M6, za koji se prije otkazivanja očekivalo da će biti prisutan u SoC-u Exynos 990 2021. nasljednik.

Samsungov SARC CPU tim osnovan je 2011. za razvoj prilagođenih CPU jezgri, koje su tada predstavljene u Samsung Systems LSI-jevi Exynos SoC-ovi. Prvi Exynos SoC koji je koristio prilagođenu jezgru bio je Exynos 8890, koji je predstavljen u Samsung Galaxyju 2016. S7. Prilagođene jezgre ostale su dio Exynos SoC-ova sve do Exynosa 990 s Exynos M5 jezgrama, koje su se pojavile u varijantama Samsung Galaxy S20 koje pokreće Exynos. (Predstojeći Exynos 992, koji će se vjerojatno naći u Galaxy Note 20, trebao bi sadržavati ARM Cortex-A78 a ne Exynos M5.) Međutim, SARC je dovršio arhitekturu Exynos M6 prije nego što je CPU tim dobio vijest o raspuštanju u listopadu 2019., a raspuštanje je stupilo na snagu Prosinac.

Dokument ISCA sadrži preglednu tablicu mikroarhitektonskih razlika između Samsungovih prilagođenih CPU jezgri od Exynos M1 do Exynos M6. Neke od dobro poznatih karakteristika dizajna tvrtka je otkrila u svom početnom dubinskom proučavanju M1 CPU arhitekture na događaju HotChips 2016. Na HotChips 2018, Samsung je dao detaljan uvid u Exynos M3. Arhitektura jezgri Exynos M4 i Exynos M5 također je detaljno opisana, kao i ona M6.

Izvor: SARC

AnandTech primjećuje da je ključna karakteristika Samsungovog dizajna tijekom godina bila ta da se temeljio na istom nacrtu RTL-a koji je započeo s jezgrom Exynos M1 Mongoose. Samsung je tijekom godina nastavio poboljšavati funkcionalne blokove jezgri. Exynos M3 predstavljao je promjenu u odnosu na prve iteracije jer je značajno proširio jezgru u nekoliko aspekata, prešavši s dizajna s 4 široke na 6 širokih srednjih jezgri. (S druge strane, Apple A11, A12 i A13 imaju širinu dekodiranja od 7 širina, dok Cortex-A76, A77 i A78 imaju širinu od 4 širine. Cortex-X1 povećava širinu dekodiranja na 5 širine.)

Izvješće također donosi neka otkrića koja prije nisu bila javna u vezi s Exynos M5 i M6. Za Exynos M5, Samsung je napravio veće promjene u hijerarhiji predmemorije jezgri, zamijenivši privatne L2 predmemorije novim veću zajedničku predmemoriju kao i otkrivanje promjene u strukturi L3 s dizajna s 3 banke na dizajn s 2 banke s manje latencija.

Otkazana M6 jezgra bila bi veći skok u smislu mikroarhitekture. SARC je napravio velika poboljšanja kao što je udvostručenje L1 instrukcija i predmemorije podataka sa 64 KB na 128 KB - AnandTech napominje da je ovo izbor dizajna koji je do sada implementiran samo u Appleovim jezgrama A-serije, počevši od Apple A12.

L2 je udvostručen u svojim mogućnostima propusnosti do 64B/ciklusu, dok bi L3 doživio povećanje s 3MB na 4MB. Exynos M6 bi trebao biti 8-široka jezgra za dekodiranje. Kako je primijetio AnandTech, ovo bi bila najšira komercijalna mikroarhitektura koja je trenutno poznata u smislu dekodiranja. Međutim, iako je jezgra bila puno šira, jedinice za izvršavanje cijelih brojeva nisu doživjele puno promjena. Jedan složeni cjevovod dodao je mogućnost druge cjelobrojne podjele, dok su cjevovodi za učitavanje/spremanje ostali isti kao kod M5 s jednom jedinicom za učitavanje, jednom jedinicom za pohranjivanje i jednom jedinicom za učitavanje/spremanje. Cjevovodi s pomičnim zarezom/SIMD imali bi dodatnu četvrtu jedinicu s FMAC mogućnostima. L1 DTLB povećan je s 48 stranica na 128 stranica, a glavni TLB udvostručen je s 4K stranica na 8K stranica (32MB pokrivenost).

Exynos M6 predstavljao bi još jednu značajnu promjenu u odnosu na svoje prethodnike povećanjem prozora izvan reda jezgre od prvog puta nakon M3. Postojale bi veće datoteke fizičkih registara s cijelim brojevima i pomičnim zarezom, a ROB (međuspremnik za preuređivanje) povećao bi se s 228 na 256. AnandTech primjećuje da je jedna važna slabost prilagođenih Exynos jezgri još uvijek prisutna na M5, a bila bi prisutna i na M6. Njegove dublje faze cjevovoda bi rezultirale skupom kaznom pogrešnog predviđanja od 16 ciklusa, koja je bila viša od ARM-ovih CPU jezgri koje imaju kaznu pogrešnog predviđanja od 11 ciklusa. Dokument SARC ide još dublje u dizajn prediktora grana, prikazujući dizajn temeljen na Scaled Hashed Perceptron CPU jezgre. Ovaj bi se dizajn kontinuirano poboljšavao tijekom godina i implementacija, poboljšavajući točnost grananja i kontinuirano smanjujući pogrešna predviđanja po kilogramu instrukcija (MPKI). SARC predstavlja tablicu koja prikazuje količinu struktura za pohranu koju prediktor grana zauzima unutar front-enda. Tehnologije prethodnog dohvaćanja jezgre također su detaljno opisane u radu, pokrivajući uvođenje µOP predmemorije u M5, kao i naporima tima da ojača jezgru protiv sigurnosnih propusta kao što su Spektar.

Napore da se poboljša latencija memorije u prilagođenim Exynos jezgrama također je detaljno opisao SARC u radu. U Exynos M4, tim SARC-a uključio je kaskadni mehanizam učitavanje-učitavanje koji je smanjio efektivnu latenciju L1 ciklusa s četiri ciklusa na tri pri sljedećim učitavanjima. Jezgra M4 također je predstavila zaobilaženje puta s novim sučeljem od CPU jezgri izravno do memorijskih kontrolera, čime je izbjegnut promet kroz interkonekciju. Prema AnandTech, ovo je objasnilo neka od većih poboljšanja latencije koje je publikacija uspjela izmjeriti s Exynosom 9820. Exynos M5 predstavio je spekulativnu premosnicu traženja predmemorije, koja je istovremeno izdala zahtjev i interkonekciji i oznakama predmemorije. To bi vjerojatno uštedjelo na kašnjenju u slučaju promašaja predmemorije jer je zahtjev za memorijom u tijeku. Prosječna latencija učitavanja također se kontinuirano poboljšavala tijekom generacija od 14,9 ciklusa na M1 do 8,3 ciklusa na M6.

Iako su gore navedene mikroarhitektonske karakteristike prilično tehničke, CPU entuzijasti će biti upoznati s pojmom Instructions Per Clock (IPC), što znači po MHz performanse u performansama CPU-a s jednom niti (to je primarni glavni faktor koji određuje performanse CPU-a s jednom niti, dok je drugi faktor brzina takta jezgra). Cijeli IPC i IPC s pomičnim zarezom su odrednice IPC-a. SARC tim uspio je dobiti prosječno 20% godišnjih poboljšanja od M1 do M6. M3 je posebno predstavljao velik postotak poboljšanja u IPC-u, iako su ga iznevjerili drugi čimbenici. Exynos M5 predstavlja poboljšanje IPC-a od 15-17%, dok je poboljšanje IPC-a za neobjavljeni Exynos M6 objavljeno je da ima prosjek od 2,71 naspram 1,06 za M1, što predstavlja poboljšanje od 20% u odnosu na M5.

Brian Grayson, voditelj novina, odgovarao je na pitanja o otkazivanju programa tijekom Q&A sesije. Rekao je da je tim uvijek bio na cilju i prema rasporedu s poboljšanjima performansi i učinkovitosti sa svakom generacijom. (Znači li to da ciljevi nisu bili dovoljno visoki?). S druge strane, najveća poteškoća momčadi bila je izuzetno oprezna s budućnošću promjene u dizajnu jer tim nije imao resurse za početak od nule ili za potpuno ponovno pisanje a blok. Gledajući unatrag, tim bi u prošlosti napravio različite izbore s nekim smjernicama dizajna. U potpunoj suprotnosti, ARM ima više CPU timova koji rade na različitim lokacijama i zapravo se natječu jedni s drugima. To omogućuje "re-dizajniranje od temelja" kao što je Cortex-A76. The Cortex-A77 i Cortex-A78 izravni su nasljednici A76.

SARC tim je imao ideje za poboljšanja za nadolazeće jezgre kao što je hipotetski Exynos M7. Međutim, navodno je vrlo visoka osoba u Samsungu odlučila otkazati prilagođeni temeljni program. Kao AnandTech bilješke, prilagođene jezgre nisu bile konkurentne u smislu energetske učinkovitosti, performansi i korištenja područja (PPA) u usporedbi s ARM-ovim CPU-ima bilo koje generacije. Prošlog mjeseca ARM je najavio Cortex-X Custom program s novim Cortex-X1, jezgra nove generacije namijenjena mobilnim uređajima 2021. godine. Ima filozofiju dizajna razbijanja Cortex-A PPA ovojnice i umjesto toga ide ka apsolutnim performansama. Exynos M6 bi se, dakle, teško natjecao s njim. Unatoč tome, čini se da Samsung neće prilagoditi Cortex-X1 i ići će samo s kombinacijom Cortex-A78 + Cortex-A55 u Exynosu 992 – iako bi mogao biti usvojen u glavnom modelu Galaxy S sljedeće godine.

SARC tim još uvijek trenutno dizajnira prilagođene interkonekcije i memorijske kontrolere za Samsung Systems LSI. Također je radio na prilagođenim GPU arhitekturama, ali Samsung Systems LSI potpisao ugovor s AMD-om za korištenje AMD-ove sljedeće generacije (Next graphics architecture) RDNA GPU arhitekture u budućim Exynos GPU-ima, počevši od 2021.

Sve u svemu, prilagođeni projekt CPU jezgre bio je poučna lekcija za prodavače mobilnih čipova o tome što može poći po zlu. SARC CPU tim imao je velike ambicije nadmetanja s Appleom, koji je neprikosnoveni lider u području mobilnih CPU-a. Nažalost, nije uspio konkurirati ARM-u, a kamoli Appleu. Problemi su se mogli riješiti, ali iz godine u godinu, SARC-ovi napori kasnili su korak ili dva, i to se nepovoljno odrazilo na isporuku proizvoda kao što su Exynos 9810 varijante Samsung Galaxy S9. Sada će svi glavni dobavljači Android mobilnih čipova od 2021. koristiti ARM-ov dionički CPU IP, a ovaj popis uključuje Qualcomm, Samsung, MediaTek i HiSilicon. Borbu će voditi Apple s jezgrama kao što je Cortex-X1, a ne prilagođenim ARM jezgrama dizajniranim od nule.


Izvor: Evolucija CPU arhitekture Samsung Exynos | Preko: AnandTech