Se n’è parlato più volte su queste pagine, la prima volta addirittura nel 2011 , quando sulla scia dell’acquisizione di P.A.Semi (avvenuta in realtà qualche anno prima, nel 2008) Apple realizzò il suo primo SoC customizzato, l’
Apple A4 che venne utilizzato per il primo iPad e per l’iPhone 4, telefono che fu il mio primo smartphone e che è ancora in uso e perfettamente funzionante (nonostante le famose diatribe sull’Antennagate).
Sempre nel 2011, quando Jobs diede le sue dimissioni ufficiali lasciando la carica di CEO a Tim Cook, si vociferava della possibile adozione di chip proprieteri sui Mac, lavoro che ai tempi sarebbe stato ancora ben lontano, visto che la saga dei SoC proprietari Apple era appena iniziata, ma apparentemente , perché di ufficiale non c’è mai stato nulla in merito, doveva essere proprio Bob Mansfield (che come vice presidente della sezione hardware dei Mac aveva già supervisionato MacBook, MacBook Air e iPad) a seguire questo progetto.
In quegli anni il tema era molto caldo , complici le nuove architetture ARM (oggigiorno già superate da altre più nuove e ancora più prestanti), i supercomputer nati da architetture alternative , e lo stesso interesse di Microsoft verso queste architetture, con tanto di versioni dedicate di Windows dai seguiti molto
contrastanti .
A fine 2012 venne quindi presa in esame più seriamente questa possibilità, valutando corsi e ricorsi storici di Apple e dei cambi di architettura già realizzati in passato, ma poi non se ne seppe più nulla fino ad un paio d’anni più tardi, quando alcune indiscrezioni parlano di alcuni Mac con architettura ARM già in fase di test, con varie configurazioni multiprocessore. Quella indiscrezione diede modo di
affrontare le possibili problematiche pratiche di una tale migrazione, ma evidentemente era ancora troppo presto: memore del passato, e consapevole della posizione in cui si trova oggi, un eventuale cambio di architettura (perché di ufficialità, al momento, non ce ne sono) dev’essere preparato in maniera meticolosa, per far si che il passaggio sia il più possibile trasparente all’utente.
Di fronte quindi all’ennesima notizia di migrazione verso ARM, notizia che stavolta viene da fonti autorevoli , vale quindi la pena di tirare nuovamente le somme, anche perché dall’ultima volta che ne abbiamo parlato sono successe molte cose, e alcune di queste le possiamo forse inquadrare nell’ottica di questo possibile cambio di architettura, non dimenticando il fatto che si parla di un possibile passaggio nel 2020, quindi sebbene una macchina in uscita tra due anni dovrebbe già essere oggi in progettazione (tantopiù se si parla di qualcosa di nuovo) sicuramente includerà delle novità tecnologiche al momento ancora ignote.
Prima di tutto, anche se l’abbiamo già detto diverse volte, vorrei ricordare che Apple non si è mai fatta problemi a cambiare, quando riteneva il cambiamento utile per ottenere prodotti migliori o per seguire al meglio le proprie strategie. Questo non significa che le scelte siano sempre state corrette, ma storicamente Apple ha già migrato dai processori 68k ai processori PowerPC (inseguendo sempre architetture proprietarie) salvo poi essere costretta ad effettuare un’uteriore migrazione verso Intel (ed utilizzando anche qui accorgimenti per cercare di rendere le proprie macchine proprietarie ). Nel frattempo, nell’era del PowerPC, ci fu un’altra migrazione, per certi versi più importante, quella da MacOS classic a MacOSX e prima ancora di questa migrazione di sistema, Apple fu il primo produttore ad immettere sul mercato una macchina dotata solo di porte USB (il primo iMac del 1998) dettando quindi cambiamenti non solo nell’architettura hardware e del sistema operativo, ma anche nel modo di interfacciarsi con le periferiche.
Perché Apple ha sempre ricercato soluzioni di questo tipo, per molti versi proprietarie, ma sotto altri aspetti “aperte” (USB è uno standard universale, ed Apple è stata la prima ad abbracciarlo, MacOSX è a tutti gli effetti un sistema certificato UNIX con alcuna parti Open Source)? Sintetizzando, la risposta è che Apple non si è mai uniformata alla concorrenza, ma ha sempre cercato la soluzione migliore per realizzare i prodotti desiderati, ed è per questa ragione che nel 2008 acquisì P.A Semi , società specializzata nello sviluppo di processori ad alta efficienza energetica. Da quella acquisizione, dopo un paio d’anni, nacque l’ Apple A4 , il primo SoC Apple basato su architettura ARMv7-A Cortex A8 e customizzato per le esigenze di Apple, nello specifico per l’iPhone 4 e per il primo iPad.
Da quel momento (parliamo del 2010) Apple ha fatto molta strada, e oggigiorno ci troviamo con l’ Apple A11 Bionic , un SoC a 64 bit (ricordiamo che Apple è stata la prima a portare i 64 bit nel mondo di smartphone tablet) con architettura a sei core, affiancata da un GPU a tre core, e un motore neurale. Sintetizzando nuovamente, l’architettura ARM sta raggiungendo, dal punto di vista prestazionale, i processori dei comuni computer basati su architettura x86, e sotto molti punti di vista ha maggiori possibilità di crescita. Parlando più specificatamente di Apple, l’A11 è affiancato da un coprocessore di movimento dedicato a specifiche funzioni, e un motore neurale si occupa di gestire altre funzioni dedicate ai dispositivi Apple, come il riconoscimento facciale tramite Face ID e la realtà aumentata (con l’ausilio delle librerie ARKit ). Sintetizzando per la terza volta, Apple sta spingendo sempre di più la customizzazione dei propri processori per meglio adattarli alle funzioni dei propri dispositivi e del proprio sistema operativo, in modo tale da realizzare al meglio quel connubio tra hardware e software che è da sempre il punto di forza della casa di Cupertino.
Il mondo degli smartphone e quello dei computer, non sono però la stessa cosa… appurati i motivi che possono spingere Apple ad adottare l’architettura ARM con CPU proprietarie anche sui Mac (o su parte di essi) e appurato che il gap prestazionale potrebbe colmarsi completamente nel giro di un paio d’anni (ovvero per quando si prevede la migrazione), quali sono le possibili insidie per Apple, e quali sono le contromosse che la casa della mela potrebbe adottare?
La prima insidia potrebbe essere quella di realizzare architetture non completamente compatibili con l’hardware e le periferiche attuali. Se è vero che tastiere, mouse, stampanti, scanner, connessioni di rete, ecc… sono tutti disponibili con connettività wireless, non è ben chiaro cosa potrebbe accadere (per esempio) riguardo le schede grafiche più potenti di alcuni Mac: la Radeon Pro 560 montata sul modello top del MacBook Pro, sarà gestibile anche attraverso un ipotetico portatile Apple con architettura ARM? La questione potrebbe essere facilmente risolvibile se Apple, perlomeno in una fase iniziale, gestisse due differenti linee di macchine, lasciando l’architettura x86 per quelle con richieste più alte di prestazioni e compatibilità, e iniziando a migrare ad ARM le macchine che attualmente utilizzano schede madre con grafica integrata, come l’Intel HD Graphics 615 dei MacBook .
Al di là di questo, una migrazione di architettura porta sempre con se dei problemi relativi alla compatibilità del software: il passaggio dai processori 68k ai PowerPC aveva richiesto la creazione di applicazioni FAT (che includevano codice per entrambe le architetture), cosi come il passaggio da MacOS “classic” a MacOSX aveva richiesto il taglio di alcune librerie e l’adozione delle API Carbon , mentre la più recente migrazione verso Intel vide la nascita di Rosetta per emulare (seppur con qualche limite) le applicazioni PowerPC sulla nuova architettura x86.
Possiamo dire che Apple ha accumulato molta esperienza in fatto di migrazioni : sicuramente un passaggio così delicato quale potrebbe essere quello verso un Mac con architettura ARM, verrebbe preparato nel migliore dei modi possibili, facendo tesoro sia dell’esperienza delle precedenti migrazioni, sia dell’esperienza maturata nella progettazione di SoC proprietari e nella programmazione di dispositivi iOS e macOS (che in ogni caso hanno la stessa base). In quest’ottica, e al di là di altri eventuali motivi strategici, diventa quindi chiaro l’intento di un altro progetto ambizioso di cui abbiamo parlato poco tempo fa, il cosiddetto progetto Marzipan che vorrebbe unificare le App per macOS e per iOS, quelle per Mac e per iPad/iPhone, il tutto partendo dalla base: lo sforzo richiesto allo sviluppatore sarebbe “solo” quello di adattare le interfacce per i diversi dispositivi, mentre i tool di sviluppo e i compilatori forniti da Cupertino farebbero il resto. A quel punto, a parità di applicazioni e di funzionalità, l’architettura sulla quale girerebbe un determinato software sarebbe del tutto ininfluente, anzi, Apple potrebbe trarre vantaggio da alcune personalizzazioni hardware e dalla creazione di architetture in grado di realizzare compiti specifici richiesti da macOS.
L’ultimo aspetto da considerare è l’eventuale utilizzo di MS-Windows su Mac che oggi, grazie all’architettura x86, è reso oggi possibile anche in modo nativo attraverso Boot Camp . Considerando che, per vari motivi, la virtualizzazione di macchine e sistemi è al giorno d’oggi cosa molto comune, non vedrei comunque grossi problemi anche sotto questo aspetto, senza considerare il fatto che per Apple potrebbe essere un argomento d’importanza marginale.
Chiuso il giro delle ipotesi, non resta che attendere le mosse effettive di Cupertino, a partire dalla prossima WWDC di inizio giugno dove si potrebbe parlare, se non della migrazione ad ARM (argomento sicuramente delicato e ancora molto vago) quantomeno del progetto Marzipan e dell’unificazione delle App tra il mondo iOS e macOS… ormai mancano poche settimane per scoprire se Apple vorrà veramente tornare a fare macchine con hardware proprietario, come ha sempre fatto dalle sue origini fino al recente (e forzato) passaggio a Intel…
Domenico Galimberti
blog puce72
Gli altri interventi di Domenico Galimberti sono disponibili a questo indirizzo