Differenza tra x32, x64 e x86

Hai sentito parlare di x32, x64 e x86 ma non hai idea di cosa vogliano dire questi termini? Eccoti allora spiegata la differenza tra x32, x64 e x86.

Indice

Differenza tra x32, x64 e x86

Cosa significa x32?

Benché formalmente sbagliato, con il termine x32 ci si riferisce in genere alla versione a 32 bit di un dato sistema operativo. Il termine x32 sarebbe infatti più indicato per designare un’application binary interface creata per consentire ai programmi di sfruttare i vantaggi del set di istruzioni x86-64 utilizzando dei puntatori a 32 bit, evitando così il sovraccarico dei puntatori a 64 bit.

Cosa significa x86?

Di solito, con il termine x86 ci si riferisce alla versione a 32 bit di un dato driver, programma o sistema operativo. Tecnicamente parlando, però, con il termine x86 o architettura x86 ci si riferisce invece ad una famiglia di processori dell’Intel e al set di istruzioni che questi sono in grado di usare.

Il termine x86 è nato infatti come un set di istruzioni a 16 bit per determinati processori a 16 bit (ossia per l’Intel 8086 e l’Intel 8088), poi è stato esteso come un set di istruzioni a 32 bit per determinati processori a 32 bit (ossia per l’Intel 80386 e l’Intel 80486), e ora è stato esteso ancora come un set di istruzioni a 64 bit per tutti i processori a 64 bit.

C’è da precisare inoltre che all’inizio il termine x86 veniva scritto come 80×86 per riflettere il valore che cambiava nei numeri che identificavano i vari modelli dei chip (quindi 80386, 80486, 80586, e così via dicendo), ma ad un certo punto l’80 che si trovava davanti è stato eliminato lasciando quindi solo l’x86.

Cosa significa x64?

Comunemente, con il termine x64 ci si riferisce alla versione a 64 bit di un dato driver, programma o sistema operativo. Tecnicamente parlando, però, con il termine x64, x86-64x86_64, AMD64 o Intel 64 ci si riferisce invece alla versione a 64 bit del set di istruzioni con architettura x86. Più precisamente, quando sono stati introdotti i processori a 64 bit compatibili con l’architettura x86 questi sono stati indicati come x86-64 (i termini x86-32 e x86-16 sono stati usati, rispettivamente, per i processori a 32 bit e a 16 bit compatibili con l’architettura x86).

Successivamente, forse per semplificare un po’ le cose, è stato deciso di usare il termine x64 per riferirsi ai processori a 64 bit e il termine x86 per riferirsi invece ai processori a 32 bit.

Cosa significa 32 bit o 64 bit?

Una volta chiarita la differenza tra x32, x64 e x86 è ora possibile spiegare cosa vuol dire 32 bit o 64 bit. Per definizione, un processore a 32 bit è in grado sia di gestire delle istruzioni a 32 bit, sia di fare riferimento a indirizzi di memoria di 32 bit. Ma che cosa significa 32 bit? In parole povere, 32 bit indica l’abbreviazione di un certo numero che contiene 32 bit, ovvero solo 0 e 1 (ad esempio, 11000100011011101101100010110101 è un numero di 32 bit).

Dato che ogni cifra in questo numero può essere solo 0 o 1, il numero totale di combinazioni che possono essere usate è perciò 2^32, cioè 4.294.967.296 (ovvero da 0 a 4.294.967.295). E 4,29 miliardi di indirizzi di memoria (ciascuno in grado di memorizzare un byte di dati) equivale a 4 GB, ragion per cui un processore a 32 bit può accedere ad un massimo di 4 GB di memoria RAM senza espedienti software per cercare di utilizzarne ancora di più.

Analogamente un processore a 64 bit può accedere ad un massimo di 2^64 indirizzi di memoria, cioè a circa 18,4 exabyte di memoria RAM. L’unica differenza rispetto ad un processore a 32 bit è che un processore a 64 bit, oltre a gestire delle istruzioni a 64 bit e a fare riferimento a indirizzi di memoria di 64 bit, è anche in grado sia di gestire delle istruzioni a 32 bit e sia di fare riferimento a indirizzi di memoria di 32 bit.

In altre parole, un processore a 64 bit è in grado di eseguire delle operazioni sia a 32 bit che a 64 bit mentre un processore a 32 bit è in grado di eseguire soltanto delle operazioni a 32 bit.

Altra cosa importante da dire è che, così come i processori, anche i sistemi operativi, i programmi e i driver possono essere sia a 32 bit che a 64 bit. Pertanto, visto che un processore a 64 bit può eseguire sistemi operativi, programmi e driver sia a 32 bit che a 64 bit mentre un processore a 32 bit può eseguire solo sistemi operativi, programmi e driver a 32 bit, allora è molto importante capire quale delle due versioni bisogna di volta in volta decidere di installare per non commettere alcun errore.

Arrivati dunque a questo punto dovresti aver finalmente capito qual è la differenza tra x32, x64 e x86.