Samsung Ostinas pētniecības un attīstības centrs (SARC) ir izlaidis dokumentu, kurā sīki aprakstīta atceltā Exynos M6 pielāgotā CPU kodola mikroarhitektūra.
Mēs zinām, ka pielāgotais CPU pamata projekts Samsung Ostinas pētniecības un attīstības centrā (SARC) beidzās 2019. gada oktobrī. Projektam, kas tika popularizēts ar tik lielu popularitāti, 2016. gadā izlaižot Exynos M1 ar Exynos 8890, tas bija bēdīgs beigas. Kāpēc SARC salika projektu? Exynos M5 pielāgotais kodols, kas parādīts Exynos 990 SoC ir pēdējais Samsung izstrādātais pilnībā pielāgotais kodols pārskatāmā nākotnē, un, raugoties atpakaļ, ir viegli saprast, kāpēc Samsung atteicās no pielāgotajiem kodoliem, jo tie vienkārši nebija pietiekami konkurētspējīgi. Tagad ir zināms, ka Exynos M5 kodols ir 100% energoefektivitātes deficīts pret ARM Cortex-A77, kas daudz saka. Tomēr tam nebija jāiznāk tā. Exynos M1 un Exynos M2 dizaini liecināja par solījumu, un pielāgotais CPU kodola projekts tajā laikā tika uzskatīts par svarīgu konkurences labad mobilo CPU telpā. Exynos M3 bija liela lejupslīde, neskatoties uz ievērojamo IPC pieaugumu, un
Exynos M4 un Exynos M5 nespēja sekot līdzi ARM akciju CPU IP. Kādas bija mikroarhitektūras izmaiņas nākamajā pielāgotajā kodolā, atceltajā Exynos M6?Līdz šim atbilde uz šo jautājumu nebija zināma. Tomēr tagad SARC CPU izstrādes komanda ir iesniegusi rakstu ar nosaukumu "Samsung Exynos CPU arhitektūras attīstība" (ko mēs uzzinājām, izmantojot AnandTech) Starptautiskajā datoru arhitektūras simpozijā (ISCA), kas ir IEEE konference. Tas atklāj daudz detaļu par iepriekšējiem Exynos M sērijas CPU, kā arī atceltā Exynos M6 arhitektūru.
SARC CPU izstrādes komandas iesniegtajā dokumentā ir sīki aprakstīti komandas centieni tās astoņu gadu pastāvēšanas laikā, kā arī atklāta galvenā informācija par pielāgotajiem ARM kodoliem, sākot no Exynos M1. (Mongoose) uz pašreizējās paaudzes Exynos M5 (Lion) un pat neizlaisto Exynos M6 centrālo procesoru, kas pirms atcelšanas būtu bijis iekļauts Exynos 990 2021. gada SoC. pēctecis.
Samsung SARC CPU komanda tika izveidota 2011. gadā, lai izstrādātu pielāgotus CPU kodolus, kas pēc tam tika iekļauti Samsung Systems. LSI Exynos SoC. Pirmais Exynos SoC, kurā tika izmantots pielāgots kodols, bija Exynos 8890, kas tika parādīts 2016. gada Samsung Galaxy. S7. Pielāgotie kodoli palika daļa no Exynos SoC līdz Exynos 990 ar Exynos M5 kodoliem, kas tika rādīti ar Exynos darbināmo Samsung Galaxy S20 variantos. (Gaidāmā Exynos 992, kas, iespējams, būs pieejams Galaxy Note 20, ir paredzēts, ka tajā būs ARM Cortex-A78 nevis Exynos M5.) Tomēr SARC bija pabeidzis Exynos M6 arhitektūru pirms CPU komanda saņēmu ziņas par tās izformēšanu 2019. gada oktobrī, un izformēšana stājās spēkā 2019. gada oktobrī decembris.
ISCA dokumentā ir pārskata tabula par mikroarhitektūras atšķirībām starp Samsung pielāgotajiem CPU kodoliem no Exynos M1 līdz Exynos M6. Uzņēmums bija atklājis dažus no labi zināmajiem dizaina raksturlielumiem savā sākotnējā M1 CPU arhitektūras dziļajā niršanā HotChips 2016 pasākumā. Izstādē HotChips 2018 Samsung sniedza dziļu pieredzi Exynos M3. Detalizēta ir arī Exynos M4 un Exynos M5 kodolu arhitektūra, kā arī M6 arhitektūra.
AnandTech atzīmē, ka viens no galvenajiem Samsung dizainparaugiem gadu gaitā bija tas, ka tas tika balstīts uz to pašu RTL projektu, kas tika sākts ar Exynos M1 Mongoose kodolu. Samsung gadu gaitā turpināja uzlabot kodolu funkcionālos blokus. Exynos M3 atspoguļoja izmaiņas salīdzinājumā ar pirmajām iterācijām, jo tas vairākos aspektos ievērojami paplašināja kodolu, pārejot no 4 platu dizaina uz 6 platu vidējo kodolu. (No otras puses, Apple A11, A12 un A13 atšifrēšanas platums ir 7 platums, savukārt Cortex-A76, A77 un A78 ir 4 platumi. Cortex-X1 palielina dekodēšanas platumu līdz 5 platumam.)
Ziņojumā ir arī sniegta informācija, kas iepriekš nebija publiska par Exynos M5 un M6. Exynos M5 Samsung veica lielākas izmaiņas kodolu kešatmiņas hierarhijā, aizstājot privātās L2 kešatmiņas ar jaunu. lielāka koplietota kešatmiņa, kā arī atklāta L3 struktūras maiņa no 3 banku dizaina uz 2 banku dizainu ar mazāku latentums.
Atceltais M6 kodols būtu bijis lielāks lēciens mikroarhitektūras ziņā. SARC ir veicis lielus uzlabojumus, piemēram, dubultojis L1 instrukciju un datu kešatmiņu no 64 KB uz 128 KB - AnandTech atzīmē, ka šī ir dizaina izvēle, ko līdz šim ir ieviesuši tikai Apple A sērijas kodoli, sākot ar Apple A12.
L2 joslas platuma iespējas tika dubultotas līdz 64 B/ciklā, savukārt L3 būtu palielinājies no 3 MB līdz 4 MB. Exynos M6 būtu bijis 8 platu dekodēšanas kodols. Kā atzīmēja AnandTech, šī būtu bijusi plašākā komerciālā mikroarhitektūra, kas pašlaik ir zināma atšifrēšanas ziņā. Tomēr, lai gan kodols bija daudz plašāks, veselu skaitļu izpildes vienības neredzēja lielas izmaiņas. Viens sarežģīts cauruļvads pievienoja otru veselu skaitļu dalīšanas iespēju, savukārt slodzes/noliktavas cauruļvadi palika tādi paši kā M5 ar vienu kravas vienību, vienu noliktavas vienību un vienu kravas/noliktavas vienību. Peldošā komata/SIMD cauruļvadi būtu redzējuši papildu ceturto vienību ar FMAC iespējām. L1 DTLB tika palielināts no 48 lapām līdz 128 lapām, un galvenais TLB tika dubultots no 4K lapām uz 8K lapām (32 MB pārklājums).
Exynos M6 būtu bijusi vēl viena nozīmīga izmaiņa salīdzinājumā ar saviem priekšgājējiem, palielinot kodola logu, kas nav kārtībā, pirmo reizi kopš M3. Būtu bijuši lielāki veselu skaitļu un peldošā komata fiziskā reģistra faili, un ROB (pārkārtošanas buferis) būtu palielinājies no 228 līdz 256. AnandTech atzīmē, ka viens svarīgs pielāgoto Exynos kodolu vājums joprojām ir M5 un tas būtu bijis arī M6. Tās dziļākās konveijera stadijas radītu dārgu 16 ciklu nepareizas prognozēšanas sodu, kas bija lielāks nekā ARM CPU kodoliem, kuriem ir 11 ciklu nepareizas prognozēšanas sods. SARC papīrs vēl vairāk iedziļinās atzaru prognozēšanas dizainā, demonstrējot CPU kodola Scaled Hashed Perceptron balstītu dizainu. Šis dizains būtu nepārtraukti uzlabojies gadu gaitā un ieviešanas gaitā, uzlabojot atzaru precizitāti un nepārtraukti samazinot nepareizo prognozi uz kilogramu instrukcijām (MPKI). SARC parāda tabulu, kurā parādīts krātuves struktūru apjoms, ko zaru prognozētājs aizņem priekšgalā. Rakstā tika detalizēti aprakstītas arī kodola sākotnējās ielādes tehnoloģijas, kas attiecas uz µOP kešatmiņas ieviešanu. M5, kā arī komandas centieni nostiprināt kodolu pret drošības ievainojamībām, piemēram, Spektrs.
SARC rakstā arī sīki izklāstīja centienus uzlabot atmiņas latentumu pielāgotajos Exynos kodolos. Exynos M4 SARC komanda iekļāva slodzes-slodzes kaskādes mehānismu, kas samazināja efektīvo L1 cikla latentumu no četriem cikliem uz trim nākamajām slodzēm. M4 kodols arī ieviesa ceļa apvedceļu ar jaunu saskarni no CPU kodoliem tieši uz atmiņas kontrolieriem, kas izvairījās no satiksmes caur starpsavienojumu. Saskaņā ar AnandTech, tas izskaidro dažus lielākus latentuma uzlabojumus, ko publikācija varēja izmērīt ar Exynos 9820. Exynos M5 ieviesa spekulatīvu kešatmiņas uzmeklēšanas apiešanu, kas vienlaikus izdeva pieprasījumu gan starpsavienojuma, gan kešatmiņas tagiem. Tas, iespējams, ietaupīs latentumu kešatmiņas izlaišanas gadījumā, jo notiek atmiņas pieprasījums. Vidējais slodzes latentums arī tika nepārtraukti uzlabots paaudzēm no 14,9 cikliem M1 līdz 8,3 cikliem M6.
Lai gan iepriekš minētie mikroarhitektūras raksturlielumi ir diezgan tehniski, CPU entuziasti būs pazīstami ar terminu Instructions Per Clock (IPC), kas nozīmē uz MHz. veiktspēja viena pavediena CPU veiktspējā (tas ir galvenais galvenais faktors, kas nosaka viena pavediena CPU veiktspēju, bet otrs faktors ir pulksteņa ātrums kodols). Vesela skaitļa IPC un peldošā komata IPC ir gan IPC noteicošie faktori. SARC komandai izdevās iegūt vidēji 20% gada uzlabojumus no M1 uz M6. Jo īpaši M3 bija liels procentuālais IPC uzlabojums, lai gan to pievīla citi faktori. Exynos M5 bija par 15–17% IPC uzlabojums, savukārt IPC uzlabojums neizlaistajam Exynos M6 ir atklāts, ka M1 vidējais rādītājs ir 2,71 pret 1,06, kas ir par 20% uzlabojums salīdzinājumā ar M5.
Braiens Greisons, laikraksta vadītājs, jautājumu un atbilžu sesijas laikā atbildēja uz jautājumiem par programmas atcelšanu. Viņš teica, ka komanda vienmēr ir bijusi mērķtiecīga un saskaņā ar grafiku, veicot veiktspējas un efektivitātes uzlabojumus katrā paaudzē. (Vai tas nozīmē, ka sākotnēji mērķi nebija pietiekami augsti?). No otras puses, komandas lielākās grūtības sagādāja ārkārtīgi uzmanīga attieksme pret nākotni dizaina izmaiņas, jo komandai nebija resursu, lai sāktu no nulles vai pilnībā pārrakstītu a bloķēt. Paskatoties atpakaļ, komanda iepriekš būtu izdarījusi dažādas izvēles ar dažiem dizaina virzieniem. Pretēji tam, ARM ir vairākas CPU komandas, kas strādā dažādās vietās, kas faktiski konkurē savā starpā. Tas ļauj veikt "ievērojamu pārprojektēšanu", piemēram, Cortex-A76. The Cortex-A77 un Cortex-A78 ir tiešie A76 pēcteči.
SARC komandai bija idejas par uzlabojumiem gaidāmajiem kodoliem, piemēram, hipotētiskajam Exynos M7. Tomēr domājams, ka tas bija ļoti augsts Samsung cilvēks, kurš nolēma atcelt pielāgoto pamatprogrammu. Kā AnandTech atzīmē, ka pielāgotie kodoli nebija konkurētspējīgi energoefektivitātes, veiktspējas un platības izmantošanas (PPA) ziņā, salīdzinot ar jebkuras konkrētas paaudzes ARM CPU. Pagājušajā mēnesī ARM paziņoja par Cortex-X Custom programmu, kas ietver jauno Cortex-X1, nākamās paaudzes kodols, kas paredzēts 2021. gada mobilajām ierīcēm. Tā dizaina filozofija ir pārtraukt Cortex-A PPA aploksni un tā vietā nodrošināt absolūtu veiktspēju. Tāpēc Exynos M6 būtu bijis grūti ar to konkurēt. Pat ja tā, šķiet, ka Samsung nepielāgos Cortex-X1 un darbosies tikai ar Cortex-A78 + Cortex-A55 kombināciju Exynos 992 — tas tomēr var tikt pieņemts nākamā gada Galaxy S flagmanī.
SARC komanda joprojām izstrādā pielāgotus starpsavienojumus un atmiņas kontrolierus Samsung Systems LSI. Tas strādāja arī pie pielāgotām GPU arhitektūrām, bet Samsung Systems LSI parakstīja līgumu ar AMD izmantot AMD nākamās paaudzes (Next grafikas arhitektūra) RDNA GPU arhitektūru nākamajos Exynos GPU, sākot no 2021. gada.
Kopumā pielāgotais CPU pamatprojekts mobilo mikroshēmu pārdevējiem bija izglītojoša mācība par to, kas var noiet greizi. SARC CPU komandai bija lielas ambīcijas konkurēt ar Apple, kas ir neapstrīdams līderis mobilo CPU jomā. Diemžēl tam neizdevās konkurēt ar ARM, neatkarīgi no Apple. Problēmas varēja atrisināt, taču gadu no gada SARC centieni atpalika par soli vai diviem, un tas negatīvi atspoguļojās tādos produktos kā Samsung Galaxy S9 Exynos 9810 varianti. Tagad visi lielākie Android mobilo mikroshēmu pārdevēji izmantos ARM CPU IP no 2021. gada, un šajā sarakstā ir iekļauti Qualcomm, Samsung, MediaTek un HiSilicon. Cīņa tiks nodota Apple ar kodoliem, piemēram, Cortex-X1, nevis pielāgotiem ARM kodoliem, kas izstrādāti no nulles.
Avots: Samsung Exynos CPU arhitektūras attīstība | Caur: AnandTech