Il 2015 è iniziato come l’anno degli smartphone a 64 bit segnando un passo avanti non indifferente, lasciandosi alle spalle l’architettura a 32 bit, difatti tutti gli ultimi smartphone immessi nel mercato sia occidentale che orientale hanno un’architettura a 64 bit. Il problema di fondo è che la maggior parte delle persone non sapevano nemmeno dell’esistenza di 2 o più tipologie di architetture per un processore. Il processore, per comodità lo chiameremo anche CPU, e per completezza delle informazioni leggete l’articolo su come funziona la CPU nel dettaglio.
Il termine 32 bit o 64 bit fa riferimento alla grandezza del registro interno al processore e quindi alla capacità del processore di indirizzare memoria, bene a questo punto per molti ho parlato in una lingua incomprensibile agli umani quindi cercherò di essere più semplice cominciando a spiegare cos’è un bit: un bit è l’unità più piccola che può essere elaborata da un computer; i computer elaborano informazioni, quindi devono avere la grandezza minima di 1 bit.
DIFFERENZE TRA CPU A 32 BIT E CPU A 64 BIT
Tutto ciò che viene elaborato da una CPU non viene espresso in sistema decimale come siamo abituati ma in sistema binario che riconosce solo 2 simboli che, generalmente, sono “0” e “1” che rappresentano 2 stati (acceso/spento, connesso/disconnesso, ecc.). Ora, siccome i simboli che vengono riconosciuti da una CPU sono solo 2, si usano in informatica tutti multipli di 2, infatti i processori moderni possono essere a 32 bit o 64 bit (in campo scientifico si può arrivare anche 128 bit).
Con quello che abbiamo detto possiamo quindi vedere quanta memoria riesce ad indirizzare un processore con architettura a 32 bit:
- 232 =4294967296 bit che corrispondono a 4GB di memoria
Se invece il processore è a 64 bit ci rendiamo conto che, siccome la matematica non è un opinione, le capacità di gestione della memoria aumentano esponenzialmente rispetto all’architettura a 32 bit:
- 264=18446744073709551616 bit che corrispondono a 16 ExaByte (circa 16 miliardi di GB, probabilmente impossibili attualmente da progettare)
La logica, considerando che il registro di una CPU a 64 bit può contenere molte più informazioni allo stesso tempo, ci dice che l’architettura a 64 bit è veloce il doppio di quella a 32 bit. Questo, in linea teorica, è vero ma non sempre è così, vediamo insieme il perchè: anche per fare una semplice operazione il processore necessita che il registro di memoria interno non abbia alcun bit vuoto, quindi lo si riempie con uno 0 (zero) quindi scrivere 1 in sistema binario corrisponde rispettivamente:
- Per il 32 bit: 00000000000000000000000000000001
- per il 64 bit: 0000000000000000000000000000000000000000000000000000000000000001
Questo per farci rendere conto che la dimensione, in memoria dello stesso numero, occupa molte più risorse, anche quando non servono, se si usa un 64 bit rispetto ad un 32 bit che occupa meno risorse, l’occupazione eccessiva delle risorse può anche portare ad un decremento in termini prestazionali.
Ma ci sono operazioni che una CPU a 64 bit può fare e che una CPU a 32 bit non può fare? Non esattamente. Una CPU a 32 bit non potrebbe gestire numeri più grandi di “4294967296” poichè riempirebbe l’intera memoria, per ovviare al problema il processore divide il numero per 2 rendendolo più piccolo e lavorando in più passaggi per raggiungere il risultato richiesto.
Questa elaborazione in più passaggi ne rallenta in maniera significativa l’esecuzione mentre una CPU a 64 bit non ha difficoltà a gestire numeri superiori a 4294967296 e, quindi, elabora l’informazione in un solo passaggio.
CONCLUSIONI E CONSIGLI
Si può giungere alla conclusione che utilizzare un processore con architettura a 64 bit quando le stesse operazioni sono possibili anche su un 32 bit, senza un maggiore dispendio di risorse, non conviene e che le vere potenzialità di una CPU a 64 bit le si vedono in operazioni difficili da elaborare come giochi 3D, rendering video e gestione di massicci database.
Le applicazioni sviluppate per processore a 32 bit possono girare tranquillamente su un processore a 64 bit tramite un sistema di emulazione a livello software che illude l’applicazione di essere in esecuzione su un processore a 32 bit, questa emulazione fa calare le prestazioni visto che tra il processore e l’elaborazione si intromette uno strato software, difatti, paradossalmente, l’esecuzione sarebbe più veloce su un processore a 32 bit. Al contrario, un applicazione sviluppata per un processore a 64 bit non può essere eseguita su un processore con architettura a 32 bit.
Alle volte si sente dire che se non si hanno almeno 4 GB di memoria RAM non conviene utilizzare processori a 64 bit ma questo non sempre è vero, perchè una CPU un’architettura a 64 bit a supporto di un software ben ottimizzato riesce ad avere prestazioni incredibili ed un’ottima stabilità, un esempio lampante è la stabilità e la fluidità dei giochi e dell’intero iOS presente su iPhone e iPad dove le prestazioni su piattaforma iOS sono maggiori (non sto parlando di funzionalità) perché le app devono essere sviluppate appositamente per processori a 64 bit per essere pubblicate nello store dell’azienda di Cupertino; discorso diverso per quanto riguarda Android che supporta entrambe le architetture, quindi le app troppo spesso (almeno per il momento) non sono ottimizzate per maggiore compatibilità.
Su piattaforma Android, attualmente, ci troviamo in una fase di transizione dove non si notano maggiori prestazioni o differenze importanti, quindi se siete giunti in questo articolo facendo una ricerca per capire quale smartphone comprare, vi dico che potete acquistare senza pensieri anche un Android con processore a 32 bit viste le differenze davvero impercettibili.
Discorso diverso se l’acquisto verrà effettuato tra un anno o più, visto che con l’introduzione di ART in Android Lollipop la compilazione e l’ottimizzazione per piattaforme a 64 bit è nettamente semplificata rispetto alle precedenti versioni. Per saperne di più potete leggere l’articolo dedicato alle differenze tra ART e Dalvik VM dove spieghiamo nel dettaglio quali sono i cambiamenti effettuati.
Marcello dice
Utilissimo articolo. Dopo averlo letto, mi sono convinto allora che farei bene a scegliere il Sony xperia z3 che ha proprio il processore a 32 bit!! Difatti è considerato meno energivoro e la batteria dura di più di altri dispositivi con eguale amperaggio.