il perché della transizione
Apple ha deciso di abbandonare l’architettura CISC intel per passare all’architettura RISC ARM Apple Silicon. Martedì 10 novembre 2020 dall’Apple Park, il quartier generale di Cupertino, sono stati rivelati al mondo i primi prodotti basati sulla nuova architettura che montano il processore M1. Sono già in commercio un nuovo MacBook Air, Un nuovo MacBook Pro e un nuovo Mac mini. I primi Benchmark raccontano di prestazioni che vanno al di là delle più rosee aspettative. Il più economico dei MacBook equipaggiati col nuovo processore M1, il MacBook Air senza ventola di raffreddamento, batte clamorosamente il più caro e più “pompato” MacBook da 16” equipaggiato con il processore intel i9 serie H da 45 Watt di TDP e dotato si due ventole. Va detto che GeekBench, il Benchmark che ha fornito questi risultati, ci dà solo valori indicativi che ci dicono poco su quello che sarà il vero comportamento di queste macchine nell’uso che ne fa l’utente quotidianamente.
Quando in un sistema di elaborazione si cambia l’architettura del processore si va incontro a numerosi problemi di compatibilità con le macchine esistenti. Si deve gestire in maniera molto onerosa la transizione, scommettere sul fatto che il gli sviluppatori saranno ancora interessati a distribuire i loro prodotti per la nuova architettura, dotare loro e gli utenti di strumenti che li accompagnino nella transizione. Apple ha compiuto per la terza volta nella sua storia un passo di questa portata spinta da motivazioni fortissime: la necessità di produrre macchine molto più potenti, che consumino meno, che siano vicine come archittettura ai dispositivi mobili in modo da poter distribuire lo stesso software su tutte le piattaforme, e che non siano legate dal punto di vista progettuale ai tempi di progettazione e messa in produzione di Intel.
Il prezzo da pagare è stato altissimo: la perdita della piena compatibilità con l’ambiente Windows che ha spinto tanti professionisti ad acquistare macchine progettate con cura, più care, ma che avevano il vantaggio di poter essere utilizzate con entrambi i sistemi operativi. All’orizzonte si prospetta l’emulazione, ma non è del tutto chiaro come questa verrà implementata e quali saranno le sue prestazioni, ne parlo in dettaglio nell’ultimo paragrafo.
Il SoC M1
SoC sta per System On a Chip. Si tratta di un sistema informatico racchiuso in un solo circuito integrato. Su un unico supporto fisico sono presenti la CPU, la GPU, RAM la ROM, la EPROM, le interfacce per l’input/output Thunderbolt e usb 4, il processore dei segnali, audio, il processore dei segnali video ed il circuito di Clock che sincronizza le operazioni. Le varie parti sono interconnesse tra loro da un BUS proprietario. A governare il tutto c’è un software di controllo residente nella EPROM.
Il fatto che sia tutto concentrato dentro un unico chip rende le operazioni molto più veloci, come ulteriore velocità aggiunge il fatto che CPU, GPU e gli altri componenti del SoC indirizzino la stessa memoria.
I quattro core ad alte prestazioni
I quattro core ad alte prestazioni hanno nome in codice Firestorm. Al momento sono i core più veloci che equipaggiano il mercato dei processori a bassa potenza e devono questa supremazia soprattutto al decoder in grado di decodificare otto istruzioni contemporaneamente in un unico ciclo di clock ed alla relativa pipeline capace, quindi, di sfornare contemporaneamente, ad ogni ciclo, i risultati di otto istruzioni. Tutto questo per ogni singolo core. Il problema sarà capire quanto saranno efficienti gli algoritmi di branch prediction, ma i primi benchmark, come dicevamo nell’introduzione, sono più che incoraggianti.
I Quattro core ad alta efficienza
I quattro core ad alta efficienza sono stati chiamati Icestorm. Sono core che consumano molto poco in termini energetici e vengono utilizzati per i compiti meno gravosi. Ciò nonostante offrono comunque prestazioni di tutto rispetto; il paragone che viene fatto è con una CPU intel i3 dual core le cui prestazioni vengono eguagliate consumando un decimo dell’energia.
La GPU ed il mistero dei sette od otto Core
Il Processore M1 esiste in due varianti: una con GPU a 8 core e l’altra con GPU a 7 core, una situazione un po’ paradossale che vi spiegheremo più avanti.
La GPU ad 8 core può eseguire 25.000 thread contemporaneamente. Apple afferma che questo significa che l’M1 può gestire “attività estremamente impegnative con facilità”. Secondo i dati di Apple, l’M1 ha “la grafica integrata più veloce del mondo in un personal computer” con 2,6 teraflop di velocità effettiva.
Nel mondo reale questo significa essere in grado di giocare come mai prima con Apple Arcade, modificare video molto più velocemente, alimentare un display esterno 6K e altro ancora.
Venendo alla particolarità delle GPU a 7 core che equipaggiano iprocessori M1 montati dai MackBook Air entry level, questa costituisce davvero una scelta bizzarra. Un conto sarebbe stato realizzare un chip più economico con magari una GPU con solo quattro core, ma realizzarne appositamente una con sette core per creare una differenziazione, seppur minima, con gli M1 che montano i MacBook Air più pompati e i MacBook Pro sembra una presa in giro. La verità è che in un processo produttivo a cinque nanometri, non tutti i processori vengono bene alla stessa maniera. I danni dovuti alla presenza di impurità nell’aria che, per quanto filtrata, non può esserne esente, colpiscono in varia maniera i chip. Se il danno riguarda gli otto core della CPU, Apple ha deciso che il chip non è utilizzabile, ma se invece riguarda solo uno degli otto core della GPU, allora quel chip equipaggerà i MacBook Air di fascia bassa. Il vantaggio di adottare questo approccio è il risparmio sui costi: invece di buttare via tutti i chip che non sono all’altezza delle specifiche complete, Apple è in grado di usarne alcuni. Ciò aumenta i rendimenti e riduce i costi.
I sedici core del Neural Engine
I core dedicati al Neural Engine della NPU (Neural Processing Unit) svolgono lavori particolari quali apprendimento automatico e Machine learning (ML) alla velocità di 11.000 miliardi di operazioni al secondo.
Gli algoritmi di intelligenza artificiale (AI) e apprendimento automatico (ML) sono sempre più utilizzati nelle moderne implementazioni software. Anche i processori Apple A series e Intel Core hanno da tempo funzionalità AI integrate, ma nell’M1 queste sono decisamente più sviluppate. M1 ha un motore neurale dedicato con 16 core di elaborazione deputati alla gestione delle attività di intelligenza artificiale. Applicare un filtro automatico per ritoccare una foto, utilizzare i risultati dei suggerimenti di Siri sono, ad esempio, attività che si affidano almeno in parte al ML per essere eseguite più velocemente.
Sono sempre più gli sviluppatori di software di terze parti integrano algoritmi AI e ML nelle loro app, nellaAdobe Creative Suite, per esempio, se ne fa man bassa. Apple afferma che il nuovo MacBook Air alimentato da M1 può gestire carichi di lavoro ML fino a nove volte più velocemente del precedente MacBook Air con Intel.
La Memoria Unificata
È di sicuro uno dei fattori chiave che determineranno il successo della nuova architettura. Memoria Unificata significa che la CPU e la GPU indirizzano la stessa memoria, caratterizzata dall’avere una elevata larghezza di banda e una bassa latenza, senza i processi di trasferimento di informazioni tra CPU e GPU attraverso il bus dati che caratterizzano le architetture tradizionali e sono particolarmente dispendiosi in “termini di tempo. La vicinanza fisica della memoria al processore ed ai core della GPU e del Neural Engine, in un chip costruito con processo produttivo a 5 nanometri, aumenta ulteriormente le prestazioni.
Windows: il lato oscuro della transizione
Come abbiamo spiegato in un altro articolo, l’unico problema di questo processore M1 è l’impossibilità di fate girare nativamente o tramite virtualizzazione Windows.
Nell’immediato si prospetta l’Emulazione, un processo in cui l’hardware viene completamente emulato dal programma di controllo. L’ emulazione risulta più lenta rispetto alla di virtualizzazione a causa della traduzione delle istruzioni dal formato del sistema ospite a quello del sistema ospitante. Agli emulatotori stanno lavorando WMware e Parallels con prodotti che saranno disponibili tra qualche mese.
L’emulatore di MacOS deputato a tradurre le applicazioni non compilate per ARM Apple Silicon si chiama Rosetta 2 e le poche notizie che se ne hanno sono tutte molto positive: sembra che i programmi compilati per Intel emulati su M1 in alcuni casi vadano addirittura più veloci. Ciò nonostante Rosetta 2 non può emulare app di virtualizzazione che virtualizzano le piattaforme x86_64.
Esiste una versione di Windows on Arm che potrebbe essere adattata da Microsoft per girare con gli Arm Apple Silicon. Windows on Arm esegue nativamente alcune applicazioni predefinite di Windows 10 quali Edge, Cortana, Start menu ed Explorer; sono inclusi nel supporto nativo anche numerosi driver per il disco rigido e gli SSD, per la rete e per numerose schede video. Le altre applicazioni create per i tradizionali processori x86 vengono emulate e bisogna dire che al momento non sembra di vedere da parte degli sviluppatori di applicazioni per Windows un particolare interesso verso Windows on Arm che li porti a rilasciare applicazioni native per questa piattaforma. Se Windows on Arm girasse anche sui processori Apple Silicon sarebbe comunque un grande passo avanti.
Solo il tempo ci dirà se Apple e Microsoft riusciranno a ritrovarsi in un accordo che trova davanti a sé solo ostacoli di natura commerciale. Quegli ostacoli che entrambi i colossi, quando sentono profumo di dollari, hanno sempre dimostrato di saper superare.
ApplePhilosophy original content – riproduzione consentita citando la fonte.
SUPPORTA Apple Philosophy
Ti sarai reso conto di quanto siano particolari gli articoli pubblicati su ApplePhilosophy. Non sono le scopiazzature da 9to5mac.com che spesso si trovano su altri siti. Sono il frutto di un lavoro serio di approfondimento che richiede tempo, impegno e passione. Se stai per fare un acquisto su Amazon e desideri supportare Applephilosophy, clicca sul banner qui sotto. Per ogni acquisto il blog riceverà una piccolissima percentuale. Ovviamente NON spenderai un centesimo di più di quanto avresti speso per gli stessi acquisti andando direttamente su Amazon.