Nel maggio del 2009 ci si chiedeva cosa avrebbe fatto Apple dell’acquisizione di P.A. Semi o, meglio, ci si chiedeva quando si sarebbero visti i reali risultati di questa acquisizione: perché se lo scopo dell’acquisizione era abbastanza chiaro, un processore non si progetta da un giorno all’altro.
I primi risultati arrivarono l’anno successivo con il primo SoC targato Apple, il processore Apple A4 montato sull’iPad originale e, successivamente, su iPhone 4. Ma quello era solo l’inizio. L’Apple A4 era (anzi “è”, perché iPhone 4 è ancora in vendita) un processore basato sull’architettura standard ARM Cortex A8, e lo stesso dicasi per il suo successore l’ Apple A5 , basato su ARM Cortex A9 e “declinato” successivamente in una variante A5X con comparto grafico potenziato per gestire la risoluzione del primo iPad con display Retina . Già dal principio però, Apple stava probabilmente lavorando alla preparazione di un processore completamente customizzato , progettato solo per i propri dispositivi, e progettato per dare il meglio intorno al proprio hardware e al proprio software, seguendo appieno la filosofia Apple che vuole la migliore integrazione di ogni dettaglio.
Seguendo questa via si è arrivati all’iPhone 5 con processore Apple A6 (nonché l’A6X utilizzato nella nuova versione dell’iPad Retina ) e stavolta Apple ha fatto un passo in più: A6 non è più basato su un’architettura standard, anche se utilizza le specifiche ARMv7A (le stesse che definiscono l’architettura standard ARM Cortex A15 ). In definitiva si tratta sempre di un SoC ARM, ma con alcune caratteristiche plasmate da Apple attorno all’hardware specifico dei propri dispositivi iOS.
Continuando a parlare di ARM, quando sono state presentate le nuove architetture Cortex della serie A50 (in dettaglio la Cortex-A53 e la A57 ) a 64 bit, in molti si sono chiesti se ARM non fosse pronta per insidiare il trono di Intel: domanda più che legittima considerando tanto il fatto che Windows 8 esiste in versione RT per processori ARM, quanto il fatto che l’interesse per questo tipo di architettura sta crescendo anche sul lato server, laddove è importante il risparmio energetico (e possiamo segnalare degli esempi in tal senso sia da HP , che da Dell , o anche da AMD ).
Parlando però di personal computer la situazione diventa più complicata: la maggior parte del software in circolazione è pensata per funzionare in ambienti più tradizionali e molte applicazioni non sono nemmeno compatibili con le architetture a 64bit, tant’è che Windows XP rappresenta ancora una grossa fetta dei sistemi ancora attivi. Sommando tutto quanto detto sopra, molti hanno fatto quadrato intorno alla possibilità che fosse proprio Apple ad abbandonare Intel per adottare l’architettura ARM anche sui Mac, possibilità alla quale ho accennato anche su queste pagine in più occasioni .
Per capire quanto questa possibilità sia reale, oltre a valutare la fattibilità tecnica di questo passaggio (considerando tanto gli aspetti di compatibilità, quanto quelli delle prestazioni richieste ad un computer, che sono diverse rispetto a quelle di un dispositivo mobile) dobbiamo fare un passo indietro per esaminare alcuni passaggi chiave della storia dei Mac. L’attuale architettura hardware dei Mac nasce ufficialmente nel corso della WWDC del 2005 , quando Steve Jobs annuncia che, a partire dall’anno successivo, il PowerPC verrà progressivamente abbandonato per lasciare spazio a nuove macchine basate sull’architettura x86 dei processori Intel. La decisione non è delle più facili, ma il consorzio che aveva dato vita al PowerPC vedendo la collaborazione tra Apple, IBM e Motorola, era ormai defunto: il G4 era un processore vecchio e il G5 (oltre a non dare segnali di crescita) non entrava in un portatile neanche a forza per via dei consumi elevati… e soprattutto non c’era l’ombra di nuovi processori all’orizzonte. Fortunatamente Apple aveva preparato il tutto fin dalle prime fasi di sviluppo di Mac OS X e la transizione, sebbene non indolore (soprattutto in alcuni ambiti specifici) avvenne comunque senza troppi intoppi grazie a Rosetta (un interprete che traduceva le istruzioni PPC in istruzioni x86) e grazie alla possibilità di realizzare applicazioni che contenessero codice specifico per entrambe le architetture.
Apple non era nuova a questo tipo di transizioni: qualche anno prima aveva traghettato gli utenti dal Mac OS “classico” a Mac OS X utilizzando anche in quel caso delle librerie di transizione ( Carbon ) per creare software universale, e un ambiente in grado di emulare il vecchio sistema sul nuovo. Andando più indietro nel tempo e tornando a parlare più specificatamente di hardware, gli utenti Apple di lunga data ricorderanno anche la transizione tra i processori 68k e i PowerPC, transizione anch’essa caratterizzata da applicazioni con doppio codice per la entrambe le architetture, e dai soliti problemi che inevitabilmente accompagnano un cambiamento di questo tipo.
Il succo del discorso è che Apple non si è mai fatta troppi problemi ad intraprendere dei cambiamenti drastici in nome di quella che (a torto o a ragione) giudicava essere la soluzione migliore del momento e per gli anni a venire, così come non si è mai fatta grossi problemi ad utilizzare soluzioni proprietarie quanto riteneva che la loro adozione comportasse dei vantaggi per le proprie macchine. Dal punto di vista “ideologico”, se Apple dovesse ritenere che l’architettura ARM può offrire qualcosa di più dell’architettura x86, probabilmente cambierebbe le carte in tavola ancora una volta: premesso questo, andiamo quindi ad analizzare la cosa da un punto di vista un po’ più tecnico.
Prima di tutto l’architettura ARM deve offrire la possibilità di realizzare processori sufficientemente potenti da poter rivaleggiare con i più classici processori Intel (o, più in generale, sui processori x86) montati sui normali computer. Questo, a mio avviso, potrebbe avvenire nel giro di 3 anni circa, soprattutto se consideriamo che al giorno d’oggi la prestazioni assolute di una macchina non si fanno solo con la potenza pura del processore, ma anche con una migliore gestione dei diversi core ( Grand Central Dispatch ), con l’adozione di memorie allo stato solido in luogo degli Hard Disk tradizionali ( MacBook Air e MacBook Pro Retina ), con la divisione di certi compiti con la GPU ( Open CL ) e con molti altri dettagli. Complessivamente, le prestazioni sono il risultato di una migliore integrazione di tutte le componenti hardware e software, qualcosa che Apple ha sempre cercato di fare anche in virtù della “chiusura” dei propri sistemi, e quindi della limitata variabilità dell’hardware.
In secondo luogo Apple non può rischiare un’altra volta di ritrovarsi nella stessa situazione che ha dovuto affrontare con il PowerPC, ma questo pericolo è già scongiurato dal panorama completamente differente in cui si trova oggi: Apple (come abbiamo detto sopra) ha comprato P.A. Semi assicurandosi la possibilità di avere personale che porterà sempre avanti lo sviluppo di nuovi processori. Inoltre, nonostante le personalizzazioni, in questo caso non si appoggerebbe su una tecnologia completamente proprietaria, ma porrebbe le sue basi su un’architettura in forte crescita, concessa in licenza e adottata da molti costruttori: in poche parole, considerando lo scenario attuale, è poco probabile che ARM sparisca da un momento all’altro.
Infine arriviamo al discorso della compatibilità, hardware e software. Dal punto di vista hardware possiamo notare come Apple si stia slegando da molti vincoli fisici appoggiandosi sempre più alle tecnologie WiFi, settore al quale (come abbiamo visto qualche settimana fa) è stato messo a capo Bob Mansfield : rimozione delle unità ottiche, stampa dai device iOS tramite AirPrint, software senza supporto fisico ma scaricato dalla Rete, AirPlay per la trasmissione di audio e video. Tutto passa da connessioni wireless slegate da particolari architetture hardware, e quando c’è la necessità di collegare qualcosa tramite cavo la risposta di Apple in chiave futura è Thunderbold , tecnologia ultraveloce potenzialmente in grado di supportare diversi protocolli, che potrebbe essere implementata anche attraverso il nuovo connettore Lightning dei dispositivi iOS.
Dal punto di vista della compatibilità software, iOS e OSX hanno già alcune basi in comune, pur girando su architetture diverse, quindi il passo potrebbe essere breve, e non è detto che Apple non abbia già dei prototipi sui quali lavora per tenersi pronta all’eventuale passaggio. Chi ritiene che Apple abbia guadagnato mercato grazie alla compatibilità con Windows assicurata dai processori Intel, potrebbe considerare il fatto che anche Windows 8 RT gira su processori ARM, e Microsoft sembra voler puntare in modo deciso in questa direzione, cioè su applicazioni realizzate per girare anche sulla versione RT del nuovo sistema. È vero che con l’A6 Apple è andata oltre le architetture standard, e le soluzione customizzate introdurrebbero delle incompatibilità anche sui Mac (precludendo quindi la strada a Windows RT) ma è anche vero che per i dispositivi mobile l’ottimizzazione spinta è quasi indispensabile per ottenere prodotti al top, mentre per un’eventuale Mac costruito intorno all’architettura ARM si potrebbe ricorrere alle ARM Cortex Standard (che sia la serie A50 basata su ARMv8, o quelle che arriveranno negli anni a venire). Con tutta probabilità il passaggio non sarebbe totalmente esente da problemi: come già avvenuto in passato (e descritto sopra) si assisterebbe ad un periodo con applicazioni appesantite dal doppio codice, ambienti di emulazione, e qualche incompatibilità il cui disagio può essere più o meno importante a seconda degli usi specifici degli utenti. Chi usa le applicazioni Apple o poco più (magari scaricato dal Mac App Store) potrebbe non riscontrare alcun problema; i professionisti legati a software molto specifici sarebbero invece legati ai tempi di aggiornamento dei singoli sviluppatori, e quindi anche all’efficacia degli strumenti ( Xcode ) che Apple metterebbe a disposizione per eseguire la transizione.
Il bello dell’Informatica è che si tratta di un settore sempre in movimento e in questi anni, tra il successo dei tablet e le rivoluzioni di interfaccia , si potrebbe arrivare anche ad uno stravolgimento di quelle architetture che sembravano ormai assodate, quasi scontate. Quando si parla di Apple la storia ci insegna che il cambiamento è ancora più probabile, ma anche Microsoft sta offrendo un contributo molto forte con Windows 8, e Google ha fatto la sua parte nel settore parallelo dei servizi online, dei sistemi mobile, e anche con i Chromebook. Questi ultimi dispositivi nati intorno a Chrome OS e al concetto di cloud (altra scommessa del futuro) sono virtualmente indipendenti dall’architettura: sono stati presentati tanto modelli con processore Intel (come l’ Acer C7 ), quanto modelli con processori ARM, economici e per molti versi più convincenti (come il nuovo Samsung ).
Ma se i Chromebook, per il loro particolare (e quasi indissolubile) legame con il mondo online, non sono ancora riusciti a fare breccia tra gli utenti, Windows 8 RT ha tutte le potenzialità per fare qualcosa in più, soprattutto perché potrebbe riuscire a traghettare verso dispositivi con architettura ARM gli utenti che si affezioneranno abitueranno all’interfaccia Metro.
Per tirare le somme è ancora presto, ma se è vero che l’avvento delle architetture x86 segnò (a suo tempo) l’inizio della diffusione dei PC come li conosciamo oggi, nonché la sparizione quasi totali di tutte le altre tipologie di Personal Computer (con Apple che è rimasta l’unica mosca bianca nella sua nicchia), uno stravolgimento di architettura accompagnato da un cambiamento di abitudini degli utenti potrebbe rimescolare le carte in tavola. Se alcune novità delle novità più attese si riveleranno poco apprezzate o addirittura infruttuose, Apple potrebbe sorprendere tutti presentando un personal computer con sistema operativo “tradizionale” (senza le limitazioni di Windows RT e meno cloud-centrico di Chrome OS) capace di far girare le applicazioni di sempre, ma basato su una nuova architettura hardware che potrebbe essere l’architettura del futuro . O, perlomeno, di quel breve orizzonte del futuro informatico che possiamo immaginare oggi.
Domenico Galimberti
blog puce72
Gli altri interventi di Domenico Galimberti sono disponibili a questo indirizzo