Sappiamo un po’ tutto del nuovo iPhone 5S, ammesso che i rumor trapelati in questi mesi siano attendibili: una caratteristica su cui riflettere riguarda il processore Apple A7, che potrebbe essere da 64-bit. La notizia ha subito generato una serie di commenti, non sempre positivi perché il chip sarebbe “soltanto” il 31% più performante del precedente. Io non mi preoccupo granché dei benchmark – mai pubblicati, essendo giusto un’indiscrezione – ma delle conseguenze che potrebbe avere un simile cambio all’architettura di sistema.

Rifletto, comunque, anche sul dato del 31%. È impossibile che un processore ARMv8 da 64-bit garantisca appena quel boost prestazionale, eseguendo un sistema operativo e delle applicazioni dedicate. Sì, perché – per ottenere il massimo dall’architettura – Apple dovrebbe invitare gli sviluppatori a riscrivere le proprie app e distribuire una variante di iOS 7 a 64-bit. Altrimenti, eseguendoli a 32-bit, perderebbe una parte consistente del vantaggio acquisito. AArch64 lo permette, al pari di AMD64 e IA64, però non sarebbe l’ideale.

Apple impone l’utilizzo del proprio software sul proprio hardware e, per quanto ciò costituisca un vincolo alla diffusione di iOS e Mac OS X, dal punto di vista dello sviluppo è un enorme vantaggio: i programmatori possono contare su flag di compilazione ottimizzate per i dispositivi, che garantiscono un funzionamento più rapido dei processi. Parlando di Objective-C, se iPhone 5S installasse un sistema operativo a 32-bit quelle flag dovrebbero essere modificate — perché A7 avrebbe nuove istruzioni, per entrambe le architetture.

Gli scenari possibili sono numerosi: Apple potrebbe tranquillamente installare un sistema operativo a 32-bit e limitare le modifiche da apportare alle app alle nuove funzionalità implementate in iOS 7. Se lo installasse a 64-bit (ed è l’ipotesi più probabile, secondo me) offrirebbe agli sviluppatori la possibilità di compilare applicazioni a 32-bit o 64-bit. Scarterei l’opzione di iOS 7 soltanto a 64-bit, senza il supporto ai 32-bit, perché comporterebbe troppi problemi di retro-compatibilità. Non è detto che sia così semplice.

iOS 7 è alla Beta 6, quindi i requisiti del sistema operativo sono definiti: gli sviluppatori possono già consultare la documentazione necessaria ad adeguare le app e non mi risulta che sia citata l’esistenza della variante a 64-bit. Un software a 32-bit, con un hardware a 64-bit, chiarirebbe il boost limitato al 31%… però sarebbe un FAIL clamoroso. Che senso avrebbe produrre il processore in proprio per farlo “girare” a una capacità ridotta? Ridurrebbe drasticamente il principale vantaggio di Apple sulla concorrenza di Android.

Se Tim Cook non è impazzito, e non lo credo, iOS 7 avrà due versioni: una a 32-bit per iPhone 5C e precedenti e una a 64-bit per iPhone 5S da installare pure sui futuri iPad e Apple TV. Eccetto le flag di compilazione e i requisiti di iOS 7, i cambiamenti alle app sarebbero relativi e gli sviluppatori devono comunque aggiornarle. Non è neppure da ignorare che i rumor sull’architettura di A7 siano errati e il problema non esista, ma l’ipotesi d’avere un AArch64 (creato per i server a basso consumo) sugli smartphone è intrigante.

Photo Credit: William Hook via Compfight (cc)