Den vigtigste forskel mellem x86 og x64 er, at førstnævnte er 32 bit-arkitekturen, og sidstnævnte er 64 bit-instruktionssætets arkitektur. En instruktionssætarkitektur (ISA) er et meget vigtigt udtryk, der gælder for enhver CPU. Instruktioner, hukommelsesadressering, registre og mange andre arkitektoniske sektioner af en CPU er specificeret af ISA. x86 er en verdensberømt ISA, der blev introduceret af Intel i 1978 med 8086-processoren. Derefter skete forskellige udvidelser, og i 2000 oprettede AMD specifikationen for at udvide x86-instruktionen indstillet til 64bit under navnet AMD64. Senere implementerede andre virksomheder som Intel også denne specifikation, og denne AMD64 er den, der identificeres med navnet x64.
x86 er en instruktionssætarkitektur introduceret af Intel med den berømte 8086 processor. I 1978 introducerede Intel 8086-processoren, der var en 16 bit-processor. Senere introducerede de forskellige processorer såsom 80186, 80286, 80386 og 80486, og alle var bagudkompatible med det originale instruktionssæt, der blev brugt i 8086-processoren. Da alle disse processorer slutter med nummeret 86, blev instruktionssættets arkitektur identificeret med navnet x86. Med introduktionen af 80386 blev x86-instruktionen udvidet til et 32bit-system. Her betyder 32 bit, at alle registre, hukommelsesbus og databus er 32 bit. Så kom Pentium-processorer som Pentium I, Pentium II, Pentium III, Pentium IV, og alle disse fulgte også en 32 bit arkitektur. Men forskellige andre udvidelser skete med x86-arkitekturen, såsom tilføjelse af instruktioner som MMX, SSE og SSE2. Derudover blev der også gjort mange andre forbedringer. Derefter blev x86-instruktionssættet udvidet til et 64 bit-instruktionssæt, og fra dette punkt blev det kaldt til x64, som vi skal diskutere i det næste afsnit. Uanset hvad angår x86 generelt 32bit-arkitekturen, der udviklede sig fra en 16bit-arkitektur, der fulgte med 8086-processoren.
8086 processor
Et 32 bit-system kan kun repræsentere 232 forskellige værdier, og derfor er hukommelsesadresseringen begrænset til dette antal adresser. 232 bytes er lig med 4 GB, og derfor havde x86 en maksimal adresserbar hukommelsesgrænse på 4 GB. For at overvinde dette blev der udvidet yderligere udvidelser til x86-arkitekturen. AMD introducerede omkring år 2000 en sådan specifikation, der udvidede x86-arkitekturen til 64 bit. Dette blev introduceret under navnet AMD64. x64 er et andet navn, der gives til denne AMD64-arkitektur. Denne AMD64- eller x64-arkitektur er også kendt under navnet x86_64. Med 64 bit-arkitekturen blev alle registre 64 bit, og hukommelsesbussen og databussen blev også 64 bit. Nu 264 forskellige værdier kan adresseres, og dette giver en enorm øvre grænse for den mulige maksimale hukommelse. AMD K8 var den første processor, der implementerede denne 64 bit arkitektur. Derefter vedtog Intel også denne arkitektur. Med Intel Core-processorer, der startede fra Intel Core 2, begyndte Intel at bruge denne arkitektur i deres processorer. I øjeblikket bruger alle Intel-processorer som Core i3, Core i5 og Core i7 denne x64-arkitektur. Nogle vigtige ting at understrege er, at denne x64-arkitektur stadig er bagudkompatibel med det gamle instruktionssæt x86.
64 bit processor
• x86 blev introduceret omkring året 1978, mens x64 kom for nylig i år 2000.
• x86 kom frem fra den berømte Intel 8086-processor, og derfor blev x86 introduceret af Intel. Men x64, der kom som en udvidelse til x86, blev introduceret af AMD.
• x86-arkitektur er 32bit. (De første x86-processorer var 16 bit, men i senere processorer blev der udvidet til 32bit). x64 arkitektur er 64 bit.
• Processorer med x86 instruktionssætarkitektur har derfor 32 bit registre, 32 bit hukommelsesbus og 32 bit databus. Men x64 har 64 bit registre, 64 bit hukommelsesbus og 64 bit databus.
• x86 har en begrænsning af den maksimale adresserbare hukommelse, der er en øvre grænse på 4 GB (232 bytes). Men på x64-systemer er denne grænse enorm, hvilket er 264 bytes.
• x64 er en udvidelse af x86; derfor er det meget forbedret og kraftfuld end den gamle x86.
• Værdier, der kan gemmes i et register, i et x64-system, er større end værdier, der kan gemmes i et x86-baseret register. Derfor kan x64 håndtere beregning af større heltal meget hurtigere, da det ikke er nødvendigt at bruge flere registre i sådanne tilfælde til at opdele værdien og gemme som i x86.
• x64 kan parallel transmittere data i større størrelse langs databussen. Det vil sige, at en databus på 64 bit kan parallel transmittere 64 bit, mens x86-arkitekturen, der har en 32 bit bus, kun kan transmittere 32 bit.
Resumé:
x86 instruktionssætarkitektur er 32 bit, mens x64 instruktionssætarkitektur er 64 bit. x64 kom som en udvidelse af den eksisterende x86-arkitektur. Registre, hukommelsesbus, databus på x86-arkitekturer er 32 bit, mens dette er 64 bit på x64. Derfor er den maksimale mængde, der er adresserbar hukommelse, meget højere i x64-systemer end i x86-systemer. x86 blev introduceret af Intel med 8086-processoren, der var en 16 bit-processor, og med tiden blev denne x86 udvidet til 32 bit. Senere introducerede AMD x64-arkitekturen ved at udvide den eksisterende x86-arkitektur, og denne x64 er fuldt bagudkompatibel med x86-instruktionssæt.
Billeder høflighed: