„Samsung Austin“ tyrimų ir plėtros centras atskleidžia informaciją apie savo neišleistą „Exynos M6“ procesoriaus mikroarchitektūrą

„Samsung Austin Research & Development Center“ (SARC) išleido dokumentą, kuriame išsamiai aprašoma atšaukto „Exynos M6“ pasirinktinio procesoriaus branduolio mikroarchitektūra.

Žinome, kad pasirinktinį procesoriaus pagrindinį projektą „Samsung“ Ostino tyrimų ir plėtros centre (SARC) atėjo galas 2019 metų spalio mėnesį. Projektui, kuris buvo reklamuojamas su tokia fanfara, kai 2016 m. buvo išleistas Exynos M1 su Exynos 8890, tai buvo liūdna pabaiga. Kodėl SARC sugriovė projektą? Pasirinktinis „Exynos M5“ branduolys, pateiktas Exynos 990 „SoC“ yra paskutinis „Samsung“ sukurtas visiškai pritaikytas branduolys artimiausioje ateityje, o žvelgiant atgal, nesunku suprasti, kodėl „Samsung“ atsisakė pasirinktinių branduolių, nes jie tiesiog nebuvo pakankamai konkurencingi. Dabar žinoma, kad Exynos M5 branduolys turi 100% energijos vartojimo efektyvumo deficitą prieš ARM Cortex-A77, kuris daug pasako. Tačiau tai neturėjo taip pasirodyti. „Exynos M1“ ir „Exynos M2“ dizainai parodė tam tikrą pažadą, o pasirinktas procesoriaus branduolio projektas tuo metu buvo laikomas svarbiu dėl konkurencijos mobiliojo procesoriaus erdvėje. Nepaisant didelio IPC padidėjimo, Exynos M3 buvo didelis nuosmukis

Exynos M4 ir Exynos M5 nepavyko neatsilikti nuo ARM procesoriaus IP. Kokie buvo mikroarchitektūriniai pokyčiai kitame pasirinktiniame branduolyje, atšauktame „Exynos M6“?

Iki šiol atsakymas į šį klausimą buvo nežinomas. Tačiau dabar SARC procesoriaus kūrimo komanda pristatė dokumentą pavadinimu „Samsung Exynos CPU architektūros raida“ (su juo susipažinome per AnandTech) Tarptautiniame kompiuterių architektūros simpoziume (ISCA), kuris yra IEEE konferencija. Tai atskleidžia daug informacijos apie ankstesnius „Exynos M“ serijos procesorius, taip pat atšaukto „Exynos M6“ architektūrą.

SARC procesoriaus kūrimo komandos pateiktame dokumente išsamiai aprašomos komandos pastangos per aštuonerius metus trunkantį egzistavimą, taip pat atskleidžiama pagrindinė informacija apie pasirinktinius ARM branduolius, pradedant nuo Exynos M1. (Mongoose) į dabartinės kartos Exynos M5 (Lion) ir net neišleistą Exynos M6 procesorių, kuris prieš atšaukimą turėjo būti įtrauktas į Exynos 990 2021 SoC. įpėdinis.

„Samsung“ SARC CPU komanda buvo įkurta 2011 m., kad sukurtų pasirinktinius procesoriaus branduolius, kurie vėliau buvo įtraukti į „Samsung Systems“ LSI Exynos SoC. Pirmasis „Exynos SoC“, kuriame buvo naudojamas pritaikytas branduolys, buvo „Exynos 8890“, kuris buvo rodomas 2016 m. „Samsung Galaxy“ S7. Pasirinktiniai branduoliai liko „Exynos SoC“ dalimi iki „Exynos 990“ su „Exynos M5“ branduoliais, kurie buvo naudojami „Exynos“ maitinamuose „Samsung Galaxy S20“ variantuose. (Būsima Exynos 992Tikimasi, kad „Galaxy Note 20“ turės ARM Cortex-A78 o ne Exynos M5.) Tačiau SARC užbaigė Exynos M6 architektūrą anksčiau nei procesoriaus komanda 2019 m. spalį gavo žinių apie jos išformavimą, o išformavimas įsigaliojo 2019 m gruodį.

ISCA dokumente pateikiama mikroarchitektūrinių skirtumų tarp „Samsung“ pritaikytų procesoriaus branduolių nuo „Exynos M1“ iki „Exynos M6“ apžvalgos lentelė. Kai kurias gerai žinomas dizaino ypatybes bendrovė atskleidė pradinėje M1 procesoriaus architektūros gilumoje „HotChips 2016“ renginyje. „HotChips 2018“ parodoje „Samsung“ giliai ištyrė „Exynos M3“. Taip pat buvo išsamiai aprašyta „Exynos M4“ ir „Exynos M5“ branduolių architektūra, taip pat „M6“.

Šaltinis: SARC

AnandTech pažymi, kad viena iš pagrindinių „Samsung“ dizaino savybių per daugelį metų buvo ta, kad jis buvo pagrįstas tuo pačiu RTL planu, kuris buvo pradėtas naudojant „Exynos M1 Mongoose“ branduolį. „Samsung“ bėgant metams toliau tobulino branduolių funkcinius blokus. „Exynos M3“ reiškė pokytį nuo pirmųjų iteracijų, nes iš esmės išplėtė šerdį keliais atžvilgiais, nuo 4 pločių dizaino iki 6 pločių vidutinio branduolio. (Kita vertus, Apple A11, A12 ir A13 dekodavimo plotis yra 7, o Cortex-A76, A77 ir A78 – 4 pločiai. Cortex-X1 padidina dekodavimo plotį iki 5 pločio.)

Ataskaitoje taip pat pateikiami kai kurie atskleidimai, kurie anksčiau nebuvo vieši dėl „Exynos M5“ ir „M6“. „Exynos M5“ „Samsung“ padarė didesnius branduolių talpyklos hierarchijos pakeitimus, pakeisdama privačias L2 talpyklas nauja didesnę bendrinamą talpyklą, taip pat atskleisti L3 struktūros pakeitimą iš 3 bankų dizaino į 2 bankų dizainą su mažiau delsos laikas.

Atšauktas M6 branduolys būtų buvęs didesnis šuolis mikroarchitektūros požiūriu. SARC padarė didelių patobulinimų, pvz., padvigubino L1 instrukcijas ir duomenų talpyklą nuo 64 KB iki 128 KB – AnandTech pažymi, kad tai dizaino pasirinkimas, kurį iki šiol įgyvendino tik „Apple“ A serijos branduoliai, pradedant „Apple A12“.

L2 pralaidumas buvo padvigubintas iki 64B/ciklas, o L3 būtų padidintas nuo 3MB iki 4MB. „Exynos M6“ būtų buvęs 8 pločio dekodavimo branduolys. Kaip pažymėjo AnandTech, tai būtų buvusi plačiausia šiuo metu žinoma komercinė mikroarchitektūra dekodavimo požiūriu. Tačiau, nors branduolys buvo daug platesnis, sveikųjų skaičių vykdymo vienetai nepastebėjo daug pokyčių. Vienas sudėtingas dujotiekis pridėjo antrą sveikųjų skaičių padalijimo galimybę, o apkrovos/sandėliavimo vamzdynai išliko tokie patys kaip M5 su vienu pakrovimo vienetu, vienu sandėlio vienetu ir vienu pakrovimo/sandėliavimo vienetu. Slankaus kablelio / SIMD vamzdynuose būtų buvęs papildomas ketvirtasis blokas su FMAC galimybėmis. L1 DTLB buvo padidintas nuo 48 puslapių iki 128 puslapių, o pagrindinis TLB padvigubintas nuo 4K puslapių iki 8K puslapių (32 MB aprėptis).

„Exynos M6“ būtų buvęs dar vienas reikšmingas pokytis, palyginti su jo pirmtakais, padidindamas netvarkingą branduolio langą pirmą kartą po M3. Būtų buvę didesni sveikųjų skaičių ir slankiojo kablelio fizinio registro failai, o ROB (pertvarkymo buferis) būtų padidintas nuo 228 iki 256. AnandTech pažymi, kad vienas svarbus pasirinktinių Exynos branduolių trūkumas vis dar yra M5 ir būtų buvęs ir M6. Dėl gilesnių konvejerių etapų būtų taikoma brangi 16 ciklų klaidingo numatymo bausmė, kuri buvo didesnė nei ARM procesoriaus branduolių, turinčių 11 ciklų klaidingo numatymo bausmę. SARC popierius dar labiau įsigilina į šakos numatymo dizainą, demonstruodamas procesoriaus branduolio skaled Hashed Perceptron pagrįstą dizainą. Šis dizainas būtų nuolat tobulinamas bėgant metams ir diegiant, pagerinant šakų tikslumą ir nuolat mažinant klaidingus numatymus kilogramui instrukcijų (MPKI). SARC pateikia lentelę, kurioje rodomas saugojimo struktūrų kiekis, kurį šakos prognozuotojas užima priekinėje dalyje. Straipsnyje taip pat buvo išsamiai aprašytos branduolio išankstinio gavimo technologijos, apimančios µOP talpyklos įdiegimą. M5, taip pat komandos pastangos sustiprinti branduolį nuo saugumo spragų, tokių kaip Spektras.

Pastangos pagerinti atminties delsą pasirinktiniuose „Exynos“ branduoliuose taip pat buvo išsamiai aprašytos SARC straipsnyje. „Exynos M4“ SARC komanda įtraukė apkrovos ir apkrovos pakopinį mechanizmą, kuris sumažino efektyvų L1 ciklo delsą nuo keturių ciklų iki trijų vėlesnių apkrovų metu. M4 branduolys taip pat pristatė kelio apėjimą su nauja sąsaja iš procesoriaus branduolių tiesiai į atminties valdiklius, kurie išvengė srauto per jungtį. Pagal AnandTech, tai paaiškino kai kuriuos didesnius delsos patobulinimus, kuriuos leidinys galėjo išmatuoti naudojant „Exynos 9820“. „Exynos M5“ pristatė spekuliacinį talpyklos paieškos apėjimą, kuris vienu metu pateikė užklausą tiek sujungimui, tiek talpyklos žymoms. Tai gali sutaupyti delsos, jei trūksta talpyklos, nes vykdoma atminties užklausa. Vidutinis apkrovos delsos laikas taip pat buvo nuolat gerinamas per kelias kartas nuo 14,9 ciklo M1 iki 8,3 ciklo M6.

Nors aukščiau pateiktos mikroarchitektūrinės charakteristikos yra gana techninės, procesoriaus entuziastai bus susipažinę su terminu Instrukcijos per laikrodžią (IPC), kuris reiškia per MHz. našumas naudojant vienos gijos procesoriaus našumą (tai pagrindinis veiksnys, lemiantis vienos gijos procesoriaus našumą, o kitas veiksnys yra procesoriaus laikrodžio greitis šerdis). Sveikasis IPC ir slankiojo kablelio IPC yra IPC lemiantys veiksniai. SARC komandai pavyko gauti vidutiniškai 20% metinių patobulinimų nuo M1 iki M6. Visų pirma M3 parodė didelį procentinį IPC pagerėjimą, nors jį nuvylė kiti veiksniai. „Exynos M5“ IPC pagerino 15–17%, o neišleisto „Exynos M6“ IPC. buvo atskleista, kad M1 vidutinis rodiklis yra 2,71, palyginti su 1,06, o tai yra 20 % pagerėjimas, palyginti su M5.

Laikraščio vedėjas Brianas Graysonas klausimų ir atsakymų sesijos metu atsakė į klausimus apie programos atšaukimą. Jis sakė, kad komanda visada siekė tikslo ir pagal grafiką, kiekvienai kartai gerindama našumą ir efektyvumą. (Ar tai reiškia, kad tikslai iš pradžių nebuvo pakankamai aukšti?). Kita vertus, didžiausias komandos sunkumas buvo labai atsargus ateities atžvilgiu dizaino pakeitimai, nes komanda neturėjo išteklių pradėti nuo nulio arba visiškai perrašyti a blokas. Žvelgiant atgal, komanda praeityje būtų pasirinkusi skirtingus kai kurias dizaino kryptis. Priešingai, ARM turi keletą procesorių komandų, dirbančių skirtingose ​​​​vietose, kurios iš tikrųjų konkuruoja viena su kita. Tai leidžia „perprojektuoti iš naujo“, pvz., Cortex-A76. The Cortex-A77 ir Cortex-A78 yra tiesioginiai A76 įpėdiniai.

SARC komanda turėjo idėjų, kaip patobulinti būsimus branduolius, tokius kaip hipotetinis „Exynos M7“. Tačiau tariamai tai buvo labai aukštas Samsung žmogus, kuris nusprendė atšaukti pasirinktinę pagrindinę programą. Kaip AnandTech pažymi, kad pasirinktiniai branduoliai nebuvo konkurencingi energijos vartojimo efektyvumo, našumo ir ploto naudojimo (PPA) požiūriu, palyginti su bet kurios konkrečios kartos ARM CPU. Praėjusį mėnesį ARM paskelbė apie Cortex-X Custom programą, kurioje yra naujas Cortex-X1, naujos kartos branduolys, skirtas 2021 m. mobiliesiems įrenginiams. Jo dizaino filosofija yra sulaužyti Cortex-A PPA apvalkalą ir siekti absoliutaus našumo. Todėl „Exynos M6“ būtų buvę sunku su juo konkuruoti. Nepaisant to, atrodo, kad „Samsung“ nepritaikys „Cortex-X1“ ir „Exynos 992“ veiks tik su „Cortex-A78“ + „Cortex-A55“ deriniu – jis gali būti pritaikytas kitų metų „Galaxy S“ flagmane.

SARC komanda šiuo metu vis dar kuria pasirinktinius sujungimus ir atminties valdiklius, skirtus „Samsung Systems LSI“. Jis taip pat dirbo su tinkintomis GPU architektūromis, bet „Samsung Systems LSI“. pasirašė sutartį su AMD naudoti AMD naujos kartos (Next graphics architecture) RDNA GPU architektūrą būsimuose Exynos GPU, pradedant 2021 m.

Apskritai, pritaikytas pagrindinio procesoriaus projektas buvo šviečianti pamoka mobiliųjų lustų pardavėjams apie tai, kas gali suklysti. SARC CPU komanda turėjo didelių ambicijų konkuruoti su Apple, kuri yra neabejotina mobiliųjų procesorių erdvės lyderė. Deja, jai nepavyko konkuruoti su ARM, nesvarbu, „Apple“. Problemos galėjo būti išspręstos, tačiau metai iš metų SARC pastangos atsiliko žingsniu ar dviem tai neigiamai atsispindėjo gabenant produktus, tokius kaip „Samsung Galaxy S9“ Exynos 9810 variantai. Dabar visi pagrindiniai „Android“ mobiliųjų lustų pardavėjai nuo 2021 m. naudos ARM standartinį procesoriaus IP, o šiame sąraše yra „Qualcomm“, „Samsung“, „MediaTek“ ir „HiSilicon“. „Apple“ kovos su branduoliais, tokiais kaip „Cortex-X1“, o ne pritaikytais ARM branduoliais, sukurtais nuo nulio.


Šaltinis: „Samsung Exynos“ procesoriaus architektūros evoliucija | Per: AnandTech