Den viktigste forskjellen mellom x86 og x64 er at den tidligere er 32-bitarkitekturen, og sistnevnte er 64-bits instruksjonsoppsettarkitekturen. En instruksjonsarkitektur (ISA) er et veldig viktig begrep som gjelder for hvilken som helst CPU. Instruksjoner, minneadressering, register og mange andre arkitektoniske deler av en CPU er spesifisert av ISA. x86 er en verdensberømt ISA introdusert av Intel i 1978 med 8086 prosessoren. Deretter skjedde det ulike utvidelser, og i 2000 skapte AMD spesifikasjonen for å utvide x86 instruksjonssettet til 64 bit under navnet AMD64. Senere brukte andre selskaper som Intel også denne spesifikasjonen, og denne AMD64 er den som er identifisert av navnet x64.
x86 er en instruksjonsarkitektur introdusert av Intel med den berømte 8086-prosessoren. I 1978 introduserte Intel 8086-prosessoren som var en 16-bits prosessor. Senere introduserte de forskjellige prosessorer som 80186, 80286, 80386 og 80486, og alle var bakoverkompatible med det opprinnelige instruksjonssettet som ble brukt i 8086-prosessoren. Siden alle disse prosessorene avsluttes med nummeret 86, ble instruksjonsarkitekturen identifisert ved navnet x86. Med introduksjonen av 80386 ble x86-instruksjonen utvidet til et 32bit-system. Her betyr 32 bit at alle registre, minnebuss og databuss er 32 bit. Så kom Pentium-prosessorer som Pentium I, Pentium II, Pentium III, Pentium IV, og alle disse fulgte også en 32-bits arkitektur. Men forskjellige andre utvidelser skjedde med x86-arkitekturen, for eksempel tillegg av instruksjoner som MMX, SSE og SSE2. Bortsett fra det, ble mange andre forbedringer også gjort. Så ble x86-instruksjonssettet utvidet til et 64-bits instruksjonssett og fra dette punktet ble det kalt som x64, som vi skal diskutere i neste avsnitt. Uansett, x86 refererer generelt til 32bit-arkitekturen som utviklet seg fra en 16bit-arkitektur som kom opp med 8086-prosessoren.
8086 prosessor
Et 32-bits system kan bare representere 232 forskjellige verdier, og derfor er minnesadresseringen begrenset til det antall adresser. 232 bytes er lik 4 GB, og derfor hadde x86 en maksimal adresserbar minnegrense på 4 GB. For å overvinne dette ble ytterligere utvidelser gjort til x86-arkitekturen. AMD, i rundt år 2000, introduserte en slik spesifikasjon som utvidet x86-arkitekturen til 64 biter. Dette ble introdusert under navnet AMD64. x64 er et annet navn gitt til denne AMD64-arkitekturen. Denne AMD64- eller x64-arkitekturen er også kjent under navnet x86_64. Med 64 bitarkitekturen ble alle registerene 64 bits og minnebussen og databussen ble også 64 bit. Nå 264 forskjellige verdier kan adresseres, og dette gir en stor øvre grense på mulig maksimum minne. AMD K8 var den første prosessoren som implementerte denne 64 bitarkitekturen. Så adopterte Intel også denne arkitekturen. Med Intel Core-prosessorer som startet fra Intel Core 2, begynte Intel å bruke denne arkitekturen i prosessorene sine. For tiden bruker alle Intel-prosessorer som Core i3, Core i5 og Core i7 denne x64-arkitekturen. Noen viktige ting å understreke er at denne x64-arkitekturen fortsatt er bakoverkompatibel med det gamle x86-instruksjonssettet.
64 bit prosessor
• x86 ble introdusert rundt 1978, mens x64 kom opp nylig i år 2000.
X86 kommer fra den berømte Intel 8086-prosessoren, og derfor ble x86 introdusert av Intel. Men x64, som kom som en utvidelse til x86, ble introdusert av AMD.
• x86-arkitekturen er 32bit. (Første x86-prosessorer var 16 bit, men i senere prosessorer ble en utvidelse til 32 bit gjort). x64-arkitekturen er 64 bit.
• Prosessorer med x86 instruksjonssettarkitektur har derfor 32 bitregistre, 32 bits minnebuss og 32 bits databuss. Men x64 har 64 bit register, 64 bit minnebuss og 64 bit databuss.
• x86 har en begrensning på maksimalt adresserbart minne som er en øvre grense på 4 GB (232 byte). Men på x64-systemer er denne grensen stor, som er 264 byte.
• x64 er en utvidelse av x86; Derfor er den mye bedre og kraftig enn den gamle x86.
• Verdier som kan lagres i et register, i et x64-system, er større enn verdier som kan lagres i et x86-basert register. Derfor kan x64 håndtere beregning av større heltall mye raskere, da det ikke er nødvendig å bruke flere registre i så fall å dele verdien og lagre som i x86.
• x64 kan parallelt overføre større størrelsesdata langs databussen. Det vil si, en databuss på 64 bit kan parallelt overføre 64 biter, mens x86-arkitekturen som har en 32 bit buss, kan bare parallell overføre 32 biter.
Sammendrag:
x86 instruksjonssett arkitektur er 32 bit, mens x64 instruksjonssett arkitektur er 64 bits. x64 kom som en forlengelse av eksisterende x86-arkitektur. Registerene, minnebussen, databussen på x86-arkitekturer er 32 bits mens dette er 64 bits på x64. Derfor er den maksimale mengden minne adresserbar, mye høyere i x64-systemer enn i x86-systemer. x86 ble introdusert av Intel med 8086-prosessoren som var en 16 bits prosessor og med tiden denne x86 ble utvidet til 32 bit. Senere innførte AMD x64-arkitekturen ved å utvide den eksisterende x86-arkitekturen, og denne x64 er fullt bakoverkompatibel med x86 instruksjonssett.
Bilder Hilsen: