Differenza tra x86 e x64

x86 vs x64
 

La differenza più importante tra x86 e x64 è che il primo è l'architettura a 32 bit e il secondo è l'architettura dell'insieme di istruzioni a 64 bit. Un'architettura dell'insieme di istruzioni (ISA) è un termine molto importante che si applica a qualsiasi CPU. Istruzioni, indirizzamento della memoria, registri e molte altre sezioni architetturali di una CPU sono specificati da ISA. x86 è un ISA famoso in tutto il mondo introdotto da Intel nel 1978 con il processore 8086. Poi sono successe varie estensioni e, nel 2000, AMD ha creato le specifiche per estendere il set di istruzioni x86 a 64 bit con il nome AMD64. Successivamente altre aziende come Intel hanno implementato questa specifica e questo AMD64 è identificato dal nome x64.

Cos'è x86?

x86 è un'architettura di istruzioni introdotta da Intel con il famoso processore 8086. Nel 1978, Intel ha introdotto il processore 8086 che era un processore a 16 bit. Successivamente, hanno introdotto vari processori come 80186, 80286, 80386 e 80486 e tutti erano compatibili con le versioni precedenti del set di istruzioni originale utilizzato nel processore 8086. Poiché tutti questi processori terminano con il numero 86, l'architettura dell'insieme di istruzioni è stata identificata dal nome x86. Con l'introduzione di 80386, l'istruzione x86 è stata estesa a un sistema a 32 bit. Qui, 32 bit significa che tutti i registri, bus di memoria e bus dati sono a 32 bit. Quindi i processori Pentium arrivarono come Pentium I, Pentium II, Pentium III, Pentium IV e tutti seguirono un'architettura a 32 bit. Ma varie altre estensioni si sono verificate nell'architettura x86, come l'aggiunta di istruzioni come MMX, SSE e SSE2. Oltre a ciò, sono stati fatti anche molti altri miglioramenti. Quindi, il set di istruzioni x86 è stato esteso a un set di istruzioni a 64 bit e da questo punto in poi è stato chiamato come x64, che discuteremo nella prossima sezione. In ogni caso, in generale, x86 si riferisce all'architettura a 32 bit che si è evoluta da un'architettura a 16 bit creata con il processore 8086.

Processore 8086

Che cos'è x64?

Un sistema a 32 bit può rappresentare solo 232 valori distinti e, pertanto, l'indirizzamento della memoria è limitato a quel numero di indirizzi. 232 i byte sono uguali a 4 GB e, pertanto, x86 aveva un limite massimo di memoria indirizzabile di 4 GB. Per ovviare a ciò, sono state apportate ulteriori estensioni all'architettura x86. AMD, intorno all'anno 2000, introdusse tali specifiche che estendevano l'architettura x86 a 64 bit. Questo è stato introdotto con il nome AMD64. x64 è un altro nome assegnato a questa architettura AMD64. Questa architettura AMD64 o x64 è anche conosciuta sotto il nome x86_64. Con l'architettura a 64 bit, tutti i registri diventano 64 bit e anche il bus di memoria e il bus dati diventano 64 bit. Ora 264 valori distinti possono essere affrontati e ciò fornisce un limite superiore enorme alla possibile memoria massima. AMD K8 è stato il primo processore a implementare questa architettura a 64 bit. Quindi Intel ha anche adottato questa architettura. Con i processori Intel Core avviati da Intel Core 2, Intel ha iniziato a utilizzare questa architettura nei propri processori. Attualmente, tutti i processori Intel come Core i3, Core i5 e Core i7 utilizzano questa architettura x64. Una cosa importante da sottolineare è che questa architettura x64 è ancora retrocompatibile con il vecchio set di istruzioni x86.

Processore a 64 bit

Qual è la differenza tra x86 e x64?

• x86 è stato introdotto intorno all'anno 1978 mentre x64 è venuto più recentemente nell'anno 2000.

• x86 è emerso dal famoso processore Intel 8086 e, quindi, x86 è stato introdotto da Intel. Ma x64, che è venuto come estensione di x86, è stato introdotto da AMD.

• L'architettura x86 è a 32 bit. (I primi processori x86 erano 16 bit ma, nei processori successivi, veniva eseguita un'estensione a 32 bit). l'architettura x64 è a 64 bit.

• I processori con architettura di set di istruzioni x86, quindi, hanno registri a 32 bit, bus di memoria a 32 bit e bus dati a 32 bit. Ma x64 ha registri a 64 bit, bus di memoria a 64 bit e bus dati a 64 bit.

• x86 ha una limitazione sulla memoria indirizzabile massima che è un limite superiore di 4 GB (232 byte). Ma su sistemi x64, questo limite è enorme, che è 264 byte.

• x64 è un'espansione di x86; quindi, è molto migliorato e potente rispetto al vecchio x86.

• I valori che possono essere memorizzati in un registro, in un sistema x64, è maggiore di un valore che può essere memorizzato in un registro basato su x86. Pertanto, x64 può gestire il calcolo di numeri interi più grandi molto più velocemente, in quanto non è necessario utilizzare più registri in questo caso per dividere il valore e memorizzare come in x86.

• x64 può trasmettere in parallelo dati di dimensioni maggiori lungo il bus dati. Cioè, un bus dati di 64 bit può trasmettere in parallelo 64 bit mentre l'architettura x86 che ha un bus a 32 bit può solo trasmettere in parallelo 32 bit.

Sommario:

x86 vs x64

l'architettura del set di istruzioni x86 è a 32 bit mentre l'architettura del set di istruzioni x64 è a 64 bit. x64 è venuto come un'estensione dell'architettura x86 esistente. I registri, bus di memoria, bus dati su architetture x86 sono 32 bit mentre questo è 64 bit su x64. Pertanto, la quantità massima di memoria indirizzabile è molto più elevata nei sistemi x64 rispetto ai sistemi x86. x86 è stato introdotto da Intel con il processore 8086 che era un processore a 16 bit e con il tempo questo x86 è stato esteso a 32 bit. Successivamente, AMD ha introdotto l'architettura x64 estendendo l'architettura x86 esistente e questo x64 è completamente compatibile con il set di istruzioni x86.

Immagini per gentile concessione:

  1. Intel 8086 di Appaloosa (CC BY-SA 3.0)
  2. Processore a 64 bit di Appaloosa (CC BY 3.0