Skillnad mellan x86 och x64

x86 vs x64
 

Den viktigaste skillnaden mellan x86 och x64 är att den förra är 32-bitarsarkitekturen och den senare är 64-bitars instruktionssättarkitekturen. En instruktionssättarkitektur (ISA) är en mycket viktig term som gäller för alla CPU-enheter. Instruktioner, minnesadresser, register och många andra arkitektoniska sektioner av en CPU anges av ISA. x86 är en världsberömd ISA introducerad av Intel 1978 med 8086-processorn. Därefter hände olika tillägg och 2000 skapade AMD specifikationen för att utöka x86-instruktionsuppsättningen till 64 bit under namnet AMD64. Senare genomförde andra företag som Intel också den specifikationen och denna AMD64 är den som identifieras av namnet x64.

Vad är x86?

x86 är en instruktionsuppsättning arkitektur introducerad av Intel med den berömda 8086-processorn. 1978 introducerade Intel 8086-processorn som var en 16 bitars processor. Senare introducerade de olika processorer som 80186, 80286, 80386 och 80486, och alla var bakåtkompatibla med den ursprungliga instruktionsuppsättningen som användes i 8086-processorn. Eftersom alla dessa processorer slutar med numret 86, identifierades instruktionsuppsättningen arkitektur med namnet x86. Med introduktionen av 80386 utökades x86-instruktionen till ett 32-bitars system. Här betyder 32 bit att alla register, minnesbussen och databussen är 32 bitar. Därefter kom Pentium-processorer som Pentium I, Pentium II, Pentium III, Pentium IV och alla dessa följde också en 32-bitars arkitektur. Men olika andra tillägg skedde med x86-arkitekturen, till exempel tillägg av instruktioner som MMX, SSE och SSE2. Bortsett från det, gjordes också många andra förbättringar. Sedan utökades x86-instruktionssatsen till en 64-bitars instruktionsuppsättning och från denna punkt kallades den som x64, som vi kommer att diskutera i nästa avsnitt. Hur som helst hänvisar x86 i allmänhet till 32bit-arkitekturen som utvecklats från en 16bit-arkitektur som kom upp med 8086-processorn.

8086-processor

Vad är x64?

Ett 32 bitars system kan representera endast 232 distinkta värden och därför är minnesadresseringen begränsad till det antal adresser. 232 byte är lika med 4 GB och därför hade x86 en maximal adresserbar minnesgräns på 4 GB. För att övervinna detta gjordes ytterligare tillägg till x86-arkitekturen. AMD, kring år 2000, införde en sådan specifikation som förlängde x86-arkitekturen till 64 bitar. Detta introducerades under namnet AMD64. x64 är ett annat namn som ges till denna AMD64-arkitektur. Denna AMD64- eller x64-arkitektur är också känd under namnet x86_64. Med 64 bitarkitekturen blev alla register 64 bitar och minnesbussen och databussen blev också 64 bitar. Nu 264 tydliga värden kan hanteras och detta ger en stor övre gräns för det möjliga maximala minnet. AMD K8 var den första processorn som implementerade denna 64-bitars arkitektur. Sedan antog Intel också denna arkitektur. Med Intel Core-processorer som startade från Intel Core 2 började Intel använda denna arkitektur i sina processorer. För närvarande använder alla Intel-processorer som Core i3, Core i5 och Core i7 denna x64-arkitektur. Några viktiga saker att betona är att denna x64-arkitektur fortfarande är bakåtkompatibel med den gamla x86-instruktionsuppsättningen.

64 bitars processor

Vad är skillnaden mellan x86 och x64?

• x86 introducerades runt år 1978 medan x64 kom senare under år 2000.

• x86 framkom från den kända Intel 8086-processorn och därför introducerades x86 av Intel. Men x64, som kom som en förlängning till x86, introducerades av AMD.

• x86-arkitekturen är 32bit. (Första x86-processorer var 16 bitar men i senare processorer gjordes en förlängning till 32 bitar). x64-arkitekturen är 64 bitars.

• Processorer med x86 instruktionssättarkitektur har därför 32 bitars register, 32 bitars minnesbuss och 32 bitars databuss. Men x64 har 64 bitars register, 64 bitars minnesbuss och 64 bitars databuss.

• x86 har en begränsning på maximalt adresserbart minne som är en övre gräns på 4 GB (232 byte). Men på x64-system är denna gräns enorm, vilket är 264 bitgrupper.

• x64 är en expansion av x86; Därför är den mycket förbättrad och kraftfull än den gamla x86.

• Värden som kan lagras i ett register i ett x64-system är större än ett värde som kan lagras i ett x86-baserat register. Därför kan x64 hantera beräkningen av större heltal mycket snabbare, eftersom det inte är nödvändigt att använda flera register i sådant fall att dela upp värdet och lagra som i x86.

• x64 kan parallellt sända större storleksdata längs databussen. Det vill säga en databuss med 64 bitar kan parallellt överföra 64 bitar medan x86-arkitekturen som har en 32 bitars buss kan endast parallellt överföra 32 bitar.

Sammanfattning:

x86 vs x64

x86-instruktionssättarkitekturen är 32 bitars medan x64-instruktionssättarkitekturen är 64 bitar. x64 kom som en förlängning av den befintliga x86-arkitekturen. Registren, minnesbussen, databussen på x86-arkitekturer är 32 bitar medan detta är 64 bitar på x64. Därför är den maximala minnesadressen mycket högre i x64-system än i x86-system. x86 introducerades av Intel med 8086-processorn som var en 16 bitars processor och med tiden utvidgades x86 till 32 bitar. Senare introducerade AMD x64-arkitekturen genom att utvidga den befintliga x86-arkitekturen och denna x64 är fullt bakåtkompatibel med x86-instruktionssatsen.

Bilder Hälsovård:

  1. Intel 8086 av Appaloosa (CC BY-SA 3.0)
  2. 64 bitars processor av Appaloosa (CC BY 3.0