soc-64bit

Tutti parlano di processori a 64 bit sui terminali mobili ma non tutti ne conoscono le peculiarità. Tutti i nuovi smartphone dotati di Android  e non solo quest’ultimi anche quelli della Apple  hanno adottato  questi chipset basati su questa architettura nuova in ambito mobile; prima di esporre i vantaggi e le differenze vorrei richiamare un po di concetti informatici per rendere più comprensibile la spiegazione.

L’argomento è molto vasto e complesso  ci sarebbe davvero molto da dire, l’obiettivo di questo articolo è spiegare in maniera semplice e intuitiva  un concetto quello delle architetture hardware abbastanza complesso per la maggior parte delle persone   quindi vi fornirò gli elementi sufficienti per comprendere dal punto di vista tecnico, una serie di informazioni che il marketing delle grandi aziende produttrici di chip ci vogliono far credere  in maniera  incompleta e a volte distorta.

La CPU, sigla di Central Processing Unit è il dispositivo che esegue materialmente  le operazioni logiche, aritmetiche e di trasferimento sui dati secondo l’algoritmo richiesto; materialmente è costituito da un chip, cioè da piastrine in silicio incapsulate in materiale plastico e fornite di contatti metallici, chiamati piedini (in inglese pin) che consentono l’inserimento su circuiterie più estese chiamate schede e quindi il collegamento elettrico con il resto del sistema. Le dimensioni di un chip sono nell’ordine di centimetri, e quindi lo spazio occupato è estremamente ridotto. 

Qualcomm-soc

Il funzionamento dei sistemi digitali, i computer in generale e quindi anche i dispositivi mobili quali calcolatori elettronici che telefonano, si basano sul sistema binario per trattare le informazioni. L’unità di informazione di base è il Bit (dall’inglese binary digit, ovvero una cifra che può assumere il valore 0 e 1 più semplice da trattare in chiave elaborativa), che però non è sufficiente per codificare una sufficiente  quantità d’informazioni. Si usa quindi, come base per trattare le informazioni un suo multiplo il byte corrispondente ad 8 bit, con il quale si possono rappresentare 28=256 diverse informazioni quante sono le combinazioni di due elementi ( la cifra 0 e cifra 1) in 8 posti, diversamente dalla numerazione decimale a cui siamo più abituati.

sistema binario

In informatica, dire che un chip e a 32 bit o a64 bit significa, a seconda si usi l’uno o l’altro aggettivo, che in una data architettura il formato standard di una variabile semplice (intero, puntatore,handle ecc.) è di 32 o 64 bit di larghezza. Generalmente questo riflette la dimensione dei registri interni della CPU usata per quella architettura.

Quindi dire che una CPU è a 32 bit, significa dire che può indirizzare memoria fino a:

2^32 = 4294967296 -1 = 4Gb

Mentre un’architettura a 64 bit, può indirizzare memoria fino a:

2^64 = 18446744073709551616-1 = 16Eb (16 exabyte è un numero che tende quasi all’infinito, ossia 16 miliardi di Gbyte, una capacità irraggiungibile ai giorni nostri.)

Questo comporta che  una CPU a 32 bit non è in grado di gestire numeri superiori a 4294967296  dovrà separare il primo numero in 2 ed eseguire il calcolo in 2 volte; mentre con una CPU a 64 bit il calcolo fatto non ha problemi di indirizzamento della memoria in quanto può gestire numeri più grandi di 4294967296 , verrà eseguito il tutto in una sola volta.

Ciò significa semplicemente che un SoC a 32 bit non potrà mai lavorare al di sopra dei 4 Gb di RAM, dal momento che non riuscirebbe a gestirlo, mentre un 64 bit può in termini teorici  impiegare  un numero quasi infinito di RAM.

Un SoC a 64 bit  essendo capace di gestire  più RAM può rendere il mio smartphone più veloce?

Un architettura a 64 bit va si più veloce ma non il doppio di una a 32 bit  questa è solo un po’ più veloce  ma di poco in quanto, dipende non solo da quante volte la CPU sarà portata ad elaborare dati complessi che vanno oltre i 32 bit nei registri di memoria,ma  anche da altri fattori  come  il clock della CPU, o da quanti core è composto il processore. 

La velocità o frequenza di clock è il numero di sostituzioni che avviene  tra i due livelli logici “0” e “1” nei circuiti logici interni ad un’unità di calcolo o di un microprocessore che  sono in grado di eseguire nell’unità di tempo di un secondo, ed è espressa in cicli al secondo, o hertz, e suoi multipli; normalmente per eseguire un’istruzione o una semplice somma sono necessari più cicli di clock.

Cosa  succede quando passiamo da un’architettura da 32 a 64 bit ? In realtà non aumenta di per se la velocità di gestione quindi il clock, ma aumentano solo le “corsie” di lavoro dello stesso. Questa operazione viene soprannominata throughput ossia la quantità di dati trasmessi nell’unità di tempo.

Un processore a 64 bit con una frequenza di clock pari alla metà di un 32 bit è in grado di eseguire gli stessi calcoli nello stesso intervallo di tempo; di solito,  si preferisce, poiché a  frequenze di clock più alte c’è un superiore consumo  energetico oltre che, una  maggiore produzione di calore.

Che cosa significa avere una CPU dual core, quad core e via dicendo ? Quali sono i vantaggi ad avere una CPU con più core?

multicore processore

Quando si passa da processori con un solo core, a processori con 2 o più core, definiti appunto, processori multicore si va semplicemente aumentando in parole povere  la capacita di  elaborazione del processore : prendiamo ad esempio una strada a doppio senso di marcia con più corsie il traffico è gestito in maniera più ottimale rispetto ad una strada ad un senso solo, nel esempio appunto il core rappresenta il senso di marcia mentre il numero delle  corsie rappresentano l’architettura del processore 32 o 64 bit a seconda  dei casi, quindi potremmo avere sia processori a 32 bit multi core che processori a 64bit.

Storicamente l’interesse delle grandi aziende di processori (intel, Amd, IBM) in ambito  computer  verso i processori multi-core si ebbe come risposta per aumentare le  prestazioni principalmente perché, negli ultimi tempi, era apparso ormai chiaro che le  strategie classiche usate  come l’aumento del clock della CPU, il passaggio ad un architettura da 32 a 64 bit, l’aumento della cache integrata nel processore  e l’accelerazione nelle comunicazioni fra CPU e RAM, non bastavano più ad assicurare, da sole, una crescita della velocità di elaborazione paragonabile a quella che è stato possibile mantenere in passato. Inoltre, l’impiego di quelle strategie stava diventando sempre più difficile o inefficace.

Con il termine Core in informatica si intende tipicamente il “nucleo elaborativo” di un microprocessore. Quest’ultimo  infatti è costituito principalmente da due parti: il core appunto, e il package che lo contiene. In parole sempilici il package è un “contenitore”  in cui sono racchiuse alcune tipologie di componenti elettronici.

Il termine Multi core è ovviamente generico e, sebbene è di solito usato  per descrivere CPU a 2 soli core o più core, può essere affiancato anche ad altri termini specifici in base alla soluzioni adottate  dalla CPU, quali dual core, quad core, octa core o l’ultimo nato hexa core (1, 2, 4, 8 o 6 core). Queste ultime rispetto alla single core consentono  di aumentare la potenza di calcolo di una CPU senza aumentare la frequenza di clock di lavoro, a tutto vantaggio del calore dissipato (che diminuisce rispetto al caso di più processori separati) così come l’energia assorbita.

 

Nella routine quotidiana è utile il 64 bit sui nostri dispositivi mobili ?

whatsapp

Nell’uso comune quindi con le normali app dello smartphone, per esempio whatsapp, facebook, email e simili,l’impatto sull’incremento  delle prestazioni è minimo se non nullo;  il vero aumento  in performance lo potremmo avere nell’ambito dell’elaborazione audio/video, grafica complessa, videogiochi 3D.

Bisogna dire anche che al giorno d’oggi,  le applicazioni dedicate al mobile sono tutte ottimizzate per i SoC a 32 bit; anche se i 64-bit permettono di implementare più di 3GB di RAM, i primi smartphone top di gamma ad avere  4GB di RAM si avranno in questi primi mesi del 2015.  I vantaggi comunque non sono solo in termini di RAM, ma cambia il cuore della CPU che passa dall’ARM v7 all’ARM v8 che apporta  molti  vantaggi in termini di operazioni possibili e carico di lavoro sfruttabile.

Tutti i processori dei terminali mobili si basano su architettura ARM azienda britannica “chip designer” con sede a Cambridge che non realizza materialmente i chip ma rilascia solo dei brevetti; le altre aziende, tra cui ricordiamo, le più importanti Qualcomm, Samsung, la Texas Instrument utilizzano poi questi ultimi tramite delle licenze d’uso, e realizzano  i chip secondo il brevetto licenziato con opportune modifiche a seconda delle  vari esigenze delle case produttrici di smartphone e Tablet.

Tutti i chip mobile a 64 bit che verrano prodotti in questo anno  sono realizzati secondo la tecnologia Arm Cortex-A50 (che si fonda sulla microarchitettura ARM v8 ) che introduce set di istruzioni a 64 bit anche nel mondo mobile per la prima volta.

Per rendere operativi al 100% questi nuovi processori, bisognerebbe avere sia un sistema operativo, nel nostro caso Android e delle  applicazioni sviluppate Adhoc per questa architettura. Tutto questo richiederà impegno e tempo da parte degli sviluppatori nel periodo di transizione.

In questa fase  non tutti i terminali hanno ancora Lollipop; che sarà la prima distribuzione Android che permetterà di sfruttare a pieno il SoC a 64 bit; grazie anche alla nuova cache Art che, andra a sostuire definitivamente  la Dalvik, e porterà miglioramenti nelle prestazioni nelle varie app fino al doppio, garantendo un migliore multitasking e di conseguenza un’esperienza più fluida. L’ultima versione di Android la 5.0  porterà API, animazioni e elementi in grado di trovare un vantaggio in questa nuova generazione di prodotti; reputo che si stia spingendo gli sviluppatori a fare questo  grande salto verso i 64 bit anche in ambito mobile, per poi essere pronti, nel futuro a sfruttarne tutto il potenziale. Il primo esempio di terminale top di gamma con SoC a 64 bit e 4 gb di RAM lo ha rilasciato la Xiaomi il Mi Note Pro, e per sfruttarne tutte le potenzialità, eseguirà Android 5.0 Lollipop. Progressivamente tutti i produttori di smartphone si adegueranno a questa nuova tecnologia; dobbiamo ricordarci che l’uso di uno smartphone o di un tablet si sta indirizzando sempre più verso la multimedialità, con giochi sempre più complessi, video in 4k (e chissà cosa in futuro), foto di definizione sempre più alte e applicazioni sempre più pesanti, quindi è facile pensare che da qui a poco,   le architetture a 64 bit si rendano necessarie.