Centrul de cercetare și dezvoltare Samsung Austin dezvăluie detalii despre microarhitectura CPU Exynos M6 nelansată

Centrul de Cercetare și Dezvoltare Samsung Austin (SARC) a lansat o lucrare care detaliază microarhitectura nucleului CPU personalizat Exynos M6 anulat.

Știm că proiectul de bază personalizat al procesorului de la Centrul de cercetare și dezvoltare din Austin (SARC) al Samsung ajuns la sfârşit în octombrie 2019. Pentru un proiect care a fost promovat cu atâta fanfară odată cu lansarea Exynos M1, cu Exynos 8890 în 2016, a fost un sfârșit trist. De ce a renunțat SARC proiectul? Nucleul personalizat Exynos M5, prezentat în Exynos 990 SoC, este ultimul nucleu complet personalizat proiectat de Samsung pentru viitorul apropiat și, retrospectiv, este ușor de înțeles de ce Samsung a renunțat la nucleele personalizate, deoarece pur și simplu nu erau suficient de competitive. Acum se știe că nucleul Exynos M5 are un deficit de eficiență energetică de 100%. împotriva lui ARM Cortex-A77, care spune multe. Cu toate acestea, nu trebuia să iasă așa. Design-urile Exynos M1 și Exynos M2 au arătat o oarecare promisiune, iar proiectul de bază personalizat al procesorului era, la acea vreme, considerat important de dragul concurenței în spațiul CPU mobil. Exynos M3 a fost o scădere mare, în ciuda creșterii majore a IPC, iar

Exynos M4 și Exynos M5 nu a reușit să țină pasul cu IP-ul procesorului de stoc al ARM. Care au fost schimbările microarhitecturale în următorul nucleu personalizat, Exynos M6 anulat?

Până acum, răspunsul la această întrebare era necunoscut. Acum, totuși, echipa de dezvoltare a procesorului SARC a prezentat o lucrare intitulată „Evoluția arhitecturii procesorului Samsung Exynos” (pe care am ajuns să o cunoaștem prin AnandTech) la Simpozionul Internațional pentru Arhitectura Calculatoarelor (ISCA), care este o conferință IEEE. Dezvăluie o mulțime de detalii despre procesoarele anterioare din seria Exynos M, precum și despre arhitectura Exynos M6 anulată.

Lucrarea prezentată de echipa de dezvoltare CPU a SARC detaliază eforturile echipei de-a lungul existenței sale de opt ani și, de asemenea, dezvăluie detalii cheie ale nucleelor ​​ARM personalizate, de la Exynos M1 (Mongoose) la generația actuală Exynos M5 (Lion) și chiar și procesorul nelansat Exynos M6, care ar fi fost de așteptat, înainte de anulare, să apară în SoC 2021 al Exynos 990. succesor.

Echipa Samsung SARC CPU a fost înființată în 2011 pentru a dezvolta nuclee personalizate pentru procesoare, care au fost apoi prezentate în Samsung Systems SoC-urile Exynos de la LSI. Primul SoC Exynos care a folosit un nucleu personalizat a fost Exynos 8890, care a fost prezentat în Samsung Galaxy din 2016. S7. Miezurile personalizate au rămas o parte a SoC-urilor Exynos până la Exynos 990 cu nucleele Exynos M5, care au apărut în variantele Samsung Galaxy S20 alimentate cu Exynos. (Următorul Exynos 992, probabil să apară în Galaxy Note 20, este de așteptat să includă ARM Cortex-A78 și nu Exynos M5.) Cu toate acestea, SARC finalizase arhitectura Exynos M6 înainte ca echipa CPU să fi am primit vești despre desființarea acesteia în octombrie 2019, desființarea fiind făcută efectivă în Decembrie.

Lucrarea ISCA prezintă un tabel de prezentare a diferențelor microarhitecturale dintre nucleele CPU personalizate ale Samsung de la Exynos M1 la Exynos M6. Unele dintre caracteristicile bine-cunoscute ale designului au fost dezvăluite de companie în analiza inițială a arhitecturii CPU M1 la evenimentul HotChips 2016. La HotChips 2018, Samsung a făcut o scufundare profundă pe Exynos M3. Arhitectura nucleelor ​​Exynos M4 și Exynos M5 a fost de asemenea detaliată, precum și cea a lui M6.

Sursa: SARC

AnandTech observă că singura caracteristică cheie a design-urilor Samsung de-a lungul anilor a fost că se bazează pe același model RTL care a început cu nucleul Exynos M1 Mongoose. Samsung a continuat să aducă îmbunătățiri în blocurile funcționale ale nucleelor ​​de-a lungul anilor. Exynos M3 a reprezentat o schimbare față de primele iterații, deoarece a lărgit substanțial nucleul în mai multe privințe, trecând de la un design cu 4 lățime la un nucleu mijlociu cu 6 lățime. (Apple A11, A12 și A13, pe de altă parte, au o lățime de decodare de 7, în timp ce Cortex-A76, A77 și A78 au o lățime de 4 lățime. Cortex-X1 mărește lățimea de decodificare la 5 lățime.)

Raportul face, de asemenea, unele dezvăluiri care nu erau publice înainte cu privire la Exynos M5 și M6. Pentru Exynos M5, Samsung a făcut modificări mai mari în ierarhia memoriei cache a nucleelor, înlocuind cache-urile private L2 cu un nou cache partajată mai mare, precum și dezvăluirea unei schimbări în structura L3 de la un design cu 3 bănci la un design cu 2 bănci cu mai puțin latenta.

Nucleul M6 anulat ar fi fost un salt mai mare în ceea ce privește microarhitectura. SARC a făcut îmbunătățiri majore, cum ar fi dublarea instrucțiunilor L1 și a cache-urilor de date de la 64 KB la 128 KB - AnandTech observă că aceasta este o alegere de design care a fost implementată până acum doar de nucleele Apple din seria A, începând cu Apple A12.

L2 a fost dublată în capacitatea de lățime de bandă până la 64B/ciclu, în timp ce L3 ar fi înregistrat o creștere de la 3MB la 4MB. Exynos M6 ar fi fost un nucleu de decodare cu 8 lățime. După cum remarcă AnandTech, aceasta ar fi fost cea mai largă microarhitectură comercială cunoscută în prezent în ceea ce privește decodarea. Cu toate acestea, chiar dacă nucleul era mult mai larg, unitățile de execuție întregi nu au văzut prea multe schimbări. O conductă complexă a adăugat o a doua capacitate de diviziune întreagă, în timp ce conductele de încărcare/depozitare au rămas aceleași ca M5 cu o unitate de încărcare, o unitate de depozit și o unitate de încărcare/depozitare. Conductele în virgulă flotantă/SIMD ar fi văzut o a patra unitate suplimentară cu capabilități FMAC. DTLB L1 a fost crescut de la 48 de pagini la 128 de pagini, iar TLB principal a fost dublat de la 4K pagini la 8K pagini (acoperire 32MB).

Exynos M6 ar fi reprezentat o altă schimbare semnificativă față de predecesorii săi prin creșterea ferestrei de necomandă a nucleului de la prima dată de la M3. Ar fi existat fișiere de registru fizic cu numere întregi și virgulă mobilă mai mari, iar ROB (Reorder Buffer) ar fi crescut de la 228 la 256. AnandTech observă că o slăbiciune importantă a nucleelor ​​personalizate Exynos este încă prezentă pe M5 și ar fi fost prezentă și pe M6. Ar fi etapele sale mai profunde ale conductei care ar avea ca rezultat o penalizare costisitoare de predicție greșită de 16 cicluri, care a fost mai mare decât nucleele CPU ARM care au penalizare de predicție greșită de 11 cicluri. Lucrarea SARC aprofundează și mai mult designul predictorului de ramificație, prezentând designul bazat pe Scaled Hashed Perceptron al nucleului procesorului. Acest design s-ar fi îmbunătățit continuu de-a lungul anilor și implementărilor, îmbunătățind acuratețea ramurilor și reducând în mod continuu predicțiile greșite pe kilo-instrucțiuni (MPKI). SARC prezintă un tabel care arată cantitatea de structuri de stocare pe care predictorul de ramuri o ocupă în front-end. Tehnologiile de preîncărcare ale nucleului au fost, de asemenea, detaliate în lucrare, acoperind introducerea unui cache µOP în M5, precum și eforturile echipei de a întări nucleul împotriva vulnerabilităților de securitate, cum ar fi Spectru.

Eforturile de îmbunătățire a latenței memoriei în nucleele personalizate Exynos au fost, de asemenea, detaliate de SARC în lucrare. În Exynos M4, echipa SARC a inclus un mecanism în cascadă de sarcină-sarcină care a redus latența efectivă a ciclului L1 de la patru cicluri la trei la încărcările ulterioare. Nucleul M4 a introdus și o cale de ocolire cu o nouă interfață de la nucleele CPU direct la controlerele de memorie, ceea ce a evitat traficul prin interconectare. Conform AnandTech, aceasta a explicat unele dintre îmbunătățirile mai mari ale latenței pe care le-a putut măsura publicația cu Exynos 9820. Exynos M5 a introdus o ocolire speculativă a căutării cache, care a emis o solicitare atât pentru interconectare, cât și pentru etichetele cache simultan. Acest lucru ar economisi latența în caz de pierdere a memoriei cache, deoarece cererea de memorie este în curs. Latența medie a sarcinii a fost, de asemenea, îmbunătățită continuu de-a lungul generațiilor de la 14,9 cicluri pe M1 la 8,3 cicluri pe M6.

În timp ce caracteristicile microarhitecturale de mai sus sunt destul de tehnice, pasionații de procesoare vor fi familiarizați cu termenul Instructions Per Clock (IPC), care înseamnă per-MHz performanța în performanța procesorului cu un singur fir (este principalul factor major care determină performanța procesorului cu un singur fir, celălalt factor fiind viteza de ceas a miez). IPC întreg și IPC în virgulă mobilă sunt ambele determinanți ai IPC. Echipa SARC a reușit să obțină o medie de 20% îmbunătățiri anuale de la M1 la M6. M3, în special, a reprezentat o îmbunătățire procentuală mare a IPC, deși a fost dezamăgit de alți factori. Exynos M5 a reprezentat o îmbunătățire cu 15-17% a IPC, în timp ce îmbunătățirea IPC pentru Exynos M6 nelansat a fost dezvăluit că are o medie de 2,71 față de 1,06 pentru M1, reprezentând o îmbunătățire cu 20% față de M5.

Brian Grayson, prezentatorul ziarului, a răspuns la întrebări despre anularea programului în timpul sesiunii de întrebări și răspunsuri. El a spus că echipa a fost întotdeauna la țintă și la program, cu îmbunătățiri de performanță și eficiență cu fiecare generație. (Asta înseamnă că țintele nu au fost suficient de mari în primul rând?). Cea mai mare dificultate a echipei, pe de altă parte, a fost să fie extrem de atentă cu viitorul modificări de design, deoarece echipa nu avea resursele pentru a începe de la zero sau pentru a rescrie complet a bloc. Cu privire la retrospectivă, echipa ar fi făcut diferite alegeri în trecut cu unele dintre direcțiile de proiectare. În contrast puternic, ARM are mai multe echipe CPU care lucrează în diferite locații care concurează de fapt între ele. Acest lucru permite „reproiectări de la bază”, cum ar fi Cortex-A76. The Cortex-A77 iar Cortex-A78 sunt succesorii direcți ai A76.

Echipa SARC a avut idei de îmbunătățiri pentru nucleele viitoare, cum ar fi ipoteticul Exynos M7. Cu toate acestea, se presupune că a fost o persoană foarte înaltă de la Samsung care a decis să anuleze programul de bază personalizat. La fel de AnandTech remarcă, nucleele personalizate nu erau competitive în ceea ce privește eficiența energetică, performanța și utilizarea zonei (PPA) în comparație cu procesoarele ARM din orice generație anume. Luna trecută, ARM a anunțat programul Cortex-X Custom care include noul Cortex-X1, un nucleu de ultimă generație destinat dispozitivelor mobile din 2021. Are o filozofie de design de a sparge învelișul Cortex-A PPA și de a merge spre performanță absolută. Prin urmare, Exynos M6 ar fi avut o perioadă dificilă să concureze cu el. Chiar și așa, se pare că Samsung nu va adapta Cortex-X1 și va merge doar cu combinația Cortex-A78 + Cortex-A55 în Exynos 992 - poate fi adoptat totuși în flagship-ul Galaxy S de anul viitor.

Echipa SARC încă proiectează în prezent interconexiuni personalizate și controlere de memorie pentru Samsung Systems LSI. De asemenea, lucra la arhitecturi GPU personalizate, dar Samsung Systems LSI a semnat un acord cu AMD pentru a utiliza arhitectura GPU RDNA de ultimă generație a AMD (Arhitectura grafică următoare) în viitoarele GPU-uri Exynos, începând cu 2021.

În general, proiectul de bază personalizat al procesorului a fost o lecție iluminatoare pentru furnizorii de cipuri mobile despre ceea ce poate merge prost. Echipa CPU SARC avea ambiții mari de a concura cu Apple, care este liderul incontestabil în spațiul CPU mobil. Din păcate, nu a reușit să concureze cu ARM, nu contează Apple. Problemele ar fi putut fi rezolvate, dar an de an, eforturile SARC au fost cu un pas sau doi în urmă și s-a reflectat negativ în produsele de transport, cum ar fi variantele Exynos 9810 ale Samsung Galaxy S9. Acum, toți vânzătorii majori de cipuri mobile Android vor folosi IP-ul procesorului stoc al ARM din 2021, iar această listă include Qualcomm, Samsung, MediaTek și HiSilicon. Lupta va fi dusă la Apple cu nuclee precum Cortex-X1, nu cu nuclee ARM personalizate proiectate de la zero.


Sursă: Evoluția arhitecturii procesorului Samsung Exynos | Prin intermediul: AnandTech