Trovandosi a scegliere la migliore versione per Windows per il nostro computer, ci si imbatte, non ultimo, nella scelta tra un’architettura a 32 bit o a 64 bit. La percezione comune, purtroppo sbagliata, vuole che le versioni a 64bit dei sistemi operativi abbiano performance comunque superiori a quelle degli omologhi a 32 bit. Non è così: in linea generale è molto difficile apprezzare significativi aumenti di prestazioni nell’architettura a 64bit rispetto a quella a 32. E per di più potrebbero esserci delle implicazioni negative nell’adottare le versioni x64 di Windows Vista e Windows 7.

L’architettura a 64 bit è la naturale evoluzione di quella a 32 ma il suo sviluppo non ha mai avuto come obiettivo primario quello dell’aumento delle prestazioni: al contrario lo “scoglio” da superare era (ed è) quello della limitazione fisica nell’accesso allo spazio degli indirizzi di memoria utilizzabili. Per le architetture a 32 bit il limite superiore è 2^32 ovvero 4.294.967.296 (poco più di 4Gb). Limite per altro teorico perchè la quantità di memoria realmente disponibile per le applicazioni viene ridotta della quantità riservata alle periferiche su piastra motivo per cui in un sistema a 32 bit l’utente non avrà mai a disposizione 4GB pieni. Con l’architettura a 64 bit questo limite viene spostato sensibilmente in alto (2^64 = 18.446.744.073.709.551.616) rendendo disponibili spazi di indirizzi di memoria che verosimilmente (dati i valori esposti) non costitueranno un limite per un bel pezzo di tempo.

Ovviamente questa ampliata disponibilità può avere un impatto rilevante sulle prestazioni del nostro computer ma bisogna fare delle considerazioni. Tutti sappiamo che avere più RAM a bordo significa aumento delle prestazioni perchè così il sistema riesce a tenere in RAM i dati di più processi simultanei senza ricorrere al paging su disco. Se però si monta un sistema a 64 bit su un PC con meno di 4GB di RAM fisica è evidente che, anche potendo accedere ad indirizzi superiori ai 4GB, la RAM fisica oltre i 4GB non c’è quindi, giocoforza, il sistema operativo swappa su disco perdendo quindi ogni vantaggio. In queste condizioni appare chiaro che non è più l’architettura a 64 bit che può aumentare le nostre prestazioni quanto piuttosto, nel caso specifico, un hard-disk molto veloce. Al contrario, avendo a disposizione oltre 4GB di Ram, verrà consumato un minore numero di cicli per il roll-out / roll-in dei dati inRAM quando si passa da un processo all’altro.

Un’altra considerazione da fare è relativa a quali ambiti applicativi possono avvantaggiarsi dall’adozione di un sistema operativo a 64bit :

  • Ovviamente hardware che dispongono di oltre 4Gb di ram
  • Applicazioni che richiedono calcoli matematici in virgola mobile
  • Applicazioni che utilizzano ampi database ad elevate performance
  • Acquisizioni video o di analisi che richiedono trasferimento di grandi quantità di dati in memoria RAM ad alta velocità

Anche in queste condizioni comunque NON sempre un sistema operativo Windows a 64 bit può risultare più veloce di un omologo a 32bit.

  • Il maggior numero di indirizzi “visibili” da parte del kernel è comunque un aggravio di informazioni da gestire
  • I programmi applicativi a 32 bit avranno comunque un degrado di performance in quanto “girano” in uno strato di emulazione (WoW64 = Windows On Windows 64) che traduce le istruzioni a 32 bit in istruzioni a 64 bit. Ovviamente questo strato di emulazione rallenta il processo. L’applicazione a 32 bit “crede” di trovarsi all’interno di un sistema 32 bit ma in realtà è come se girasse (molto grossolanamente) dentro a VirtualPc o VirtualBox.

Ad aggravare il tutto ci si è messa la Microsoft che per le sue versioni a 64 bit di Windows 7 e di Vista richiede obbligatoriamente che i driver siano firmati elettronicamente (adducendo come giustificazione – sensata per altro – della necessità di un aumento di stabilità del sistema) : questo può comportare dei problemi per esempio a quegli utenti che, pur dotati di oltre 4GB di ram, hanno a bordo periferiche ancora valide ma per le quali i produttori non hanno ancora rilasciato versioni ufficiali dei propri driver per 64 bit.

In funzione di quanto sopra emerge un altro aspetto non trascurabile: il confronto di prestazioni tra un sistema a 32 bit ed uno puro a 64 bit è un esercizio senza significato. Bisogna tenere infatti presente che driver e programmi sono DIVERSI e spesso i produttori nella ricompilazione a 64bit li ottimizzano

Nella ricerca quindi delle migliori prestazioni il tipo di architettura è sicuramente uno degli elementi discriminanti ma non certo il più importante: ancora l’hardware è il pilastro portante delle scelte facendoci preferire ampie disponibilità di RAM, dischi molto veloci e processori multicore.