64bit

 

64bit, si parla sempre più spesso di processori a 64bit da quando Apple ha dotato un proprio device di tale architettura lo scorso anno.

Dato che si parla molto di 64bit e sono molte le cose poco chiare sull’argomento è arrivato il momento di capire che cosa significa processore a 64bit e a cosa serve effettivamente. Prima di tutto bisogna chiarire che un processore a 64bit non è, in dimensione, il doppio di uno a 32bit.

Il bit, (binary information unit) unità di informazione binaria, è la più piccola unità di misura dell’informazione costituita da due elementi: zero e uno. Su questa quantità si basano tutti i processori di pc che nel tempo si sono sviluppati con architetture prima a 32bit e poi a 64bit in misura sempre maggiore. Poiché smartphone e tablet sono arrivati da pochi anni hanno adottato da subito l’architettura a 32bit e ad oggi anche quella a 64bit, in rari casi.

Cosa significa architettura a 32 o 64bit? Significa che il processore è realizzato in modo da poter contenere una quantità di informazioni pari a quella particolare architettura. Per capirci, un’architettura a 32bit consente di processare fino a 232 informazioni quella a 64bit fino a 264. È evidente che la differenza è sostanziale e i 64bit si capisce che non corrispondono al doppio del processore a 32bit, infatti 232 è pari a 4.294.967.296 byte, i fatidici 4GB su cui erano basati i vecchi pc in quanto 4GB di RAM erano più che sufficienti per elaborare una grandissima quantità di dati. 264 invece è pari a 1.8 x 1019 un numero spropositato che va ben oltre il numero di informazioni gestibili con un 32bit.

Fatta chiarezza su questo bisogna farla anche su un altro punto, il software realizzato per poter funzionare con un processore a 32 bit non funziona su quello a 64bit a meno di escamotage come realizzare un core a 32bit all’interno di uno a 64bit. Questo è molto semplice capirlo, basta pensare a tutte le volta che scarichiamo un programma per il nostro pc, ci viene chiesto se il sistema operativo è a 32 o 64bit. Come si può capire questo è valido per un pc, lo sarà anche per gli smartphone (tablet)?

Un programma Java può essere eseguito su una macchina virtuale Java a 32 o 64-bit senza modifiche. Le lunghezze e precisione di tutti i tipi di built-in sono specificati dallo standard e non dipendono dall’architettura sottostante.

In conclusione:

  • Un processore a 64bit funziona in modo ottimale con software a 64 bit.
  • Un processore a 64bit è compatibile con la maggior parte dei software a 32-bit.
  • Un processore a 32-bit non è compatibile con il software a 64-bit.

Un errore comune è che le architetture a 64-bit funzionano meglio di quelle a 32bit solo se il dispositivo dispone più di 4 GB RAM. Alcuni sistemi operativi e alcune configurazioni hardware limitano lo spazio di memoria fisica ai 3 GB per lasciare una quantità di spazio RAM da riservare agli indirizzi dell’hardware. Tuttavia, i processori dal Pentium II in poi permettono alla memoria fisica spazio di indirizzamento a 36 bit, utilizzando Physical Address Extension (PAE), che fornisce un intervallo di indirizzo fisico a 64 GB, di cui fino a 62 GB può essere utilizzato da principale memoria; il sistema PAE è quello utilizzato da Android, Linux è il primo Kernel realizzato con il supporto a 64bit.

In definitiva che cosa differenzia un processore a 64bit da uno a 32bit? Il processore a 64bit consente di elaborare un numero enorme di informazioni, questo comporta una maggiore velocità di tale processore rispetto quello a 32bit, si ma solo per l’elaborazione di dati molto complessi. Se il software, nel nostro caso le applicazioni, sono realizzate per funzionare con processori a 32bit averne uno a 64 non porta grossi vantaggi per cui fino a quando gli sviluppatori non realizzeranno app a 64bit avere un processore a 64bit serve a poco o niente.

Inoltre con un processore che ha un’architettura a 64bit non è detto che la RAM debba essere pari o superiore a 4GB, si può lavorare anche con valori inferiori anche se ormai gli smartphone sono molto vicini a questa quantità di RAM. Ricordo che la RAM di un dispositivo Android non funziona allo stesso modo di un pc, per saperne di più consiglio la lettura di Perché RAM Booster e Task Killer fanno male ad Android.

8 bit 1 byte 28
1024 B  1KB (kilobyte) = 8192 bit = 1 Kb (kilobit) 210
1024 KB 1MB (megabyte) 220
1024 MB 1GB (gigabyte) 230
1024 GB 1 TB (terabyte) 240

.