Il Samsung Austin R&D Center rivela i dettagli della sua microarchitettura inedita della CPU Exynos M6

click fraud protection

Il Samsung Austin Research & Development Center (SARC) ha pubblicato un documento che descrive in dettaglio la microarchitettura del core personalizzato della CPU Exynos M6 cancellato.

Sappiamo che il progetto del core CPU personalizzato presso l'Austin Research & Development Center (SARC) di Samsung arrivò ad una conclusione nell'ottobre 2019. Per un progetto promosso in pompa magna con il lancio dell'Exynos M1 con Exynos 8890 nel 2016, è stata una triste fine. Perché la SARC ha abbandonato il progetto? Il core personalizzato Exynos M5, presente nel Exynos 990 Il SoC è l'ultimo core completamente personalizzato progettato da Samsung per il prossimo futuro e, col senno di poi, è facile capire perché Samsung ha rinunciato ai core personalizzati, poiché semplicemente non erano abbastanza competitivi. Ora è noto che il core dell'Exynos M5 ha un deficit di efficienza energetica del 100%. contro Cortex-A77 di ARM, il che la dice lunga. Eppure non doveva andare così. I design Exynos M1 ed Exynos M2 si sono mostrati promettenti e il progetto del core della CPU personalizzato era, a quel tempo, considerato importante per il bene della concorrenza nello spazio delle CPU mobili. L'Exynos M3 ha rappresentato una grande flessione nonostante il notevole aumento dell'IPC e il

Exynos M4 ed Exynos M5 non sono riusciti a tenere il passo con l'IP della CPU stock di ARM. Quali sono stati i cambiamenti microarchitettonici nel successivo custom core, l'Exynos M6 cancellato?

Finora la risposta a questa domanda era sconosciuta. Ora, però, il team di sviluppo CPU SARC ha presentato un documento intitolato "Evolution of the Samsung Exynos CPU Architecture" (di cui siamo venuti a conoscenza tramite AnandTech) all'International Symposium for Computer Architecture (ISCA), che è una conferenza IEEE. Rivela molti dettagli sulle precedenti CPU della serie Exynos M e sull'architettura dell'Exynos M6 cancellato.

Il documento presentato dal team di sviluppo CPU della SARC descrive in dettaglio gli sforzi del team nel corso dei suoi otto anni di esistenza e rivela anche i dettagli chiave dei core ARM personalizzati che vanno dall'Exynos M1 (Mongoose) all'attuale generazione Exynos M5 (Lion) e persino alla CPU Exynos M6 inedita, che, prima della cancellazione, avrebbe dovuto essere presente nel SoC 2021 dell'Exynos 990 successore.

Il team SARC CPU di Samsung è stato fondato nel 2011 per sviluppare core CPU personalizzati, poi presenti nei sistemi Samsung SoC Exynos di LSI. Il primo SoC Exynos a utilizzare un core personalizzato è stato l'Exynos 8890, presente nel Samsung Galaxy del 2016 S7. I core personalizzati sono rimasti parte dei SoC Exynos fino all'Exynos 990 con i core Exynos M5, presenti nelle varianti Samsung Galaxy S20 alimentate da Exynos. (L'imminente Exynos 992, probabilmente presente nel Galaxy Note 20, dovrebbe includere ARM Corteccia-A78 e non l'Exynos M5.) Tuttavia, SARC aveva completato l'architettura dell'Exynos M6 prima che il team della CPU ho ricevuto notizia del suo scioglimento nell'ottobre 2019, divenuto effettivo nel Dicembre.

Il documento ISCA presenta una tabella panoramica delle differenze microarchitettoniche tra i core CPU personalizzati di Samsung dall'Exynos M1 all'Exynos M6. Alcune delle caratteristiche ben note del design sono state rivelate dall'azienda nel suo primo approfondimento sull'architettura della CPU M1 all'evento HotChips 2016. All'HotChips 2018, Samsung ha fatto un tuffo nel dettaglio sull'Exynos M3. Anche l'architettura dei core Exynos M4 ed Exynos M5 è stata dettagliata, così come quella dell'M6.

Fonte: SARC

AnandTech osserva che l'unica caratteristica chiave dei progetti Samsung nel corso degli anni è stata che si basava sullo stesso progetto RTL avviato con il core Exynos M1 Mongoose. Nel corso degli anni Samsung ha continuato ad apportare miglioramenti ai blocchi funzionali dei core. L'Exynos M3 ha rappresentato un cambiamento rispetto alle prime iterazioni in quanto ha sostanzialmente ampliato il core sotto diversi aspetti, passando da un design a 4 larghezze a un mid-core a 6 larghezze. (Gli Apple A11, A12 e A13, d'altra parte, hanno una larghezza di decodifica di 7 larghezze, mentre Cortex-A76, A77 e A78 hanno una larghezza di 4 larghezze. Il Cortex-X1 aumenta la larghezza di decodifica a 5-wide.)

Il rapporto fornisce anche alcune informazioni che prima non erano pubbliche riguardo all'Exynos M5 e all'M6. Per l'Exynos M5, Samsung ha apportato modifiche maggiori alla gerarchia della cache dei core, sostituendo le cache L2 private con una nuova cache condivisa più grande e un cambiamento nella struttura L3 da un design a 3 banchi a un design a 2 banchi con meno latenza.

Il core M6 cancellato avrebbe rappresentato un salto maggiore in termini di microarchitettura. Il SARC ha apportato grandi miglioramenti come il raddoppio delle istruzioni L1 e delle cache dei dati da 64KB a 128KB - AnandTech nota che questa è una scelta di design che finora è stata implementata solo dai core della serie A di Apple, a partire dall'Apple A12.

La L2 è stata raddoppiata nelle sue capacità di larghezza di banda fino a 64B/ciclo, mentre la L3 avrebbe visto un aumento da 3 MB a 4 MB. L'Exynos M6 sarebbe stato un core di decodifica da 8 larghezze. Come notato da AnandTech, questa sarebbe stata la più ampia microarchitettura commerciale attualmente conosciuta in termini di decodifica. Tuttavia, anche se il nucleo era molto più ampio, le unità di esecuzione intere non hanno visto molti cambiamenti. Una conduttura complessa ha aggiunto una seconda capacità di divisione intera, mentre le condutture di carico/deposito sono rimaste le stesse dell'M5 con un'unità di carico, un'unità di deposito e un'unità di carico/deposito. Le condutture in virgola mobile/SIMD avrebbero visto una quarta unità aggiuntiva con capacità FMAC. Il DTLB L1 è stato aumentato da 48 pagine a 128 pagine e il TLB principale è stato raddoppiato da 4K pagine a 8K pagine (copertura di 32 MB).

L'Exynos M6 avrebbe rappresentato un altro cambiamento significativo rispetto ai suoi predecessori aumentando la finestra di fuori servizio del core per la prima volta dall'M3. Ci sarebbero stati file di registro fisici interi e a virgola mobile più grandi e il ROB (Reorder Buffer) sarebbe aumentato da 228 a 256. AnandTech rileva che un importante punto debole dei core Exynos personalizzati è ancora presente sull'M5 e sarebbe stato presente anche sull'M6. Sarebbero le fasi più profonde della pipeline a comportare una costosa penalità di previsione errata di 16 cicli, che era superiore a quella dei core della CPU ARM che hanno una penalità di previsione errata di 11 cicli. Il documento SARC approfondisce ancora di più la progettazione del predittore di ramo, mostrando il design basato su Scaled Hashed Perceptron del core della CPU. Questo progetto sarebbe migliorato continuamente nel corso degli anni e delle implementazioni, migliorando la precisione dei rami e riducendo continuamente le previsioni errate per chilo-istruzioni (MPKI). SARC presenta una tabella che mostra la quantità di strutture di storage occupate dal branch predittor nel front-end. Nel documento sono state descritte in dettaglio anche le tecnologie di precaricamento del core, che riguardano l'introduzione di una cache µOP nell'M5, così come gli sforzi del team per rafforzare il nucleo contro le vulnerabilità della sicurezza come Spettro.

Gli sforzi per migliorare la latenza della memoria nei core Exynos personalizzati sono stati dettagliati anche dal SARC nel documento. Nell'Exynos M4, il team SARC ha incluso un meccanismo a cascata carico-carico che ha ridotto l'effettiva latenza del ciclo L1 da quattro cicli a tre sui carichi successivi. Il core M4 ha anche introdotto un bypass del percorso con una nuova interfaccia dai core della CPU direttamente ai controller di memoria, che evitava il traffico attraverso l'interconnessione. Secondo AnandTech, questo spiega alcuni dei maggiori miglioramenti della latenza che la pubblicazione è stata in grado di misurare con Exynos 9820. L'Exynos M5 ha introdotto un bypass speculativo della ricerca della cache, che ha inviato una richiesta simultaneamente sia all'interconnessione che ai tag della cache. Ciò potrebbe risparmiare sulla latenza in caso di perdita della cache mentre la richiesta di memoria è in corso. Anche la latenza media del carico è stata continuamente migliorata nel corso delle generazioni, passando da 14,9 cicli sull'M1 a 8,3 cicli sull'M6.

Sebbene le caratteristiche microarchitettoniche di cui sopra siano piuttosto tecniche, gli appassionati di CPU avranno familiarità con il termine Istruzioni Per Clock (IPC), che significa per-MHz prestazioni della CPU a thread singolo (è il fattore principale che determina le prestazioni della CPU a thread singolo, mentre l'altro fattore è la velocità di clock del nucleo). L'IPC intero e l'IPC in virgola mobile sono entrambi determinanti dell'IPC. Il team SARC è riuscito a ottenere una media di miglioramenti annuali del 20% dall'M1 all'M6. L'M3, in particolare, ha rappresentato un grande miglioramento percentuale nell'IPC, sebbene sia stato deluso da altri fattori. L'Exynos M5 ha rappresentato un miglioramento del 15-17% nell'IPC, mentre il miglioramento dell'IPC per l'inedito Exynos M6 è stato rivelato che ha una media di 2,71 contro 1,06 per M1, che rappresenta un miglioramento del 20% rispetto al M5.

Brian Grayson, il presentatore del giornale, ha risposto alle domande sulla cancellazione del programma durante la sessione di domande e risposte. Ha affermato che il team è sempre stato in linea con gli obiettivi e nei tempi previsti con miglioramenti in termini di prestazioni ed efficienza con ogni generazione. (Ciò significa che gli obiettivi non erano abbastanza alti fin dall'inizio?). La difficoltà più grande della squadra, invece, è stata quella di essere estremamente attenti al futuro modifiche alla progettazione poiché il team non aveva le risorse per iniziare da zero o per riscrivere completamente a bloccare. Con il senno di poi, in passato il team avrebbe fatto scelte diverse riguardo ad alcune direzioni di progettazione. In netto contrasto, ARM ha più team CPU che lavorano in luoghi diversi che effettivamente competono tra loro. Ciò consente "riprogettazioni dal basso" come il Corteccia-A76. IL Corteccia-A77 e il Cortex-A78 sono i diretti successori dell'A76.

Il team SARC aveva idee per miglioramenti per i core futuri come l'ipotetico Exynos M7. Tuttavia, si suppone che sia stata una persona molto in alto in Samsung a decidere di annullare il programma Custom Core. COME AnandTech osserva, i core personalizzati non erano competitivi in ​​termini di efficienza energetica, prestazioni e utilizzo dell'area (PPA) rispetto alle CPU ARM di una particolare generazione. Il mese scorso, ARM ha annunciato il programma Cortex-X Custom con la novità Corteccia-X1, un core di prossima generazione destinato ai dispositivi mobili del 2021. La sua filosofia di design è quella di rompere l'involucro Cortex-A PPA e puntare invece a prestazioni assolute. L'Exynos M6, quindi, avrebbe avuto difficoltà a competere con esso. Anche così, sembra che Samsung non adatterà il Cortex-X1 e utilizzerà solo la combinazione Cortex-A78 + Cortex-A55 nell'Exynos 992 - potrebbe però essere adottata nell'ammiraglia Galaxy S del prossimo anno.

Il team SARC attualmente progetta interconnessioni personalizzate e controller di memoria per Samsung Systems LSI. Stava lavorando anche su architetture GPU personalizzate, ma Samsung Systems LSI ha firmato un accordo con AMD utilizzare l'architettura GPU RDNA di prossima generazione (architettura grafica Next) di AMD nelle future GPU Exynos, a partire dal 2021.

Nel complesso, il progetto del core della CPU personalizzato è stata una lezione illuminante per i fornitori di chip mobili su cosa può andare storto. Il team SARC CPU aveva grandi ambizioni di competere con Apple, che è il leader indiscusso nello spazio delle CPU mobili. Sfortunatamente, non è riuscita a competere con ARM, per non parlare di Apple. I problemi avrebbero potuto essere risolti, ma anno dopo anno gli sforzi della SARC sono rimasti un passo o due indietro ciò si è riflesso negativamente sulla spedizione di prodotti come le varianti Exynos 9810 del Samsung Galaxy S9. Ora, tutti i principali fornitori di chip mobili Android utilizzeranno l'IP CPU stock di ARM a partire dal 2021 e questo elenco include Qualcomm, Samsung, MediaTek e HiSilicon. La battaglia sarà portata contro Apple con core come Cortex-X1, non core ARM personalizzati progettati da zero.


Fonte: Evoluzione dell'architettura della CPU Samsung Exynos | Attraverso: AnandTech