Razlika med x86 in x64

x86 proti x64
 

Najpomembnejša razlika med x86 in x64 je, da je prva 32-bitna arhitektura, zadnja pa 64-bitna arhitektura nabora navodil. Arhitektura nabora navodil (ISA) je zelo pomemben izraz, ki velja za kateri koli procesor. ISA določa navodila, naslavljanje spomina, registre in številne druge arhitekturne odseke procesorja. x86 je svetovno znana ISA, ki jo je Intel predstavil leta 1978 s procesorjem 8086. Potem so se zgodile različne razširitve in AMD je leta 2000 ustvaril specifikacijo za razširitev nastavitev x86 na 64bit pod imenom AMD64. Pozneje so tudi druga podjetja, kot je Intel, uvedla to specifikacijo, ta AMD64 pa je tista, ki je identificirana z imenom x64.

Kaj je x86?

x86 je arhitektura nabora navodil, ki jo je uvedel Intel z znanim procesorjem 8086. Leta 1978 je Intel predstavil procesor 8086, ki je bil 16-bitni procesor. Nato so kasneje predstavili različne procesorje, kot so 80186, 80286, 80386 in 80486, in vsi so bili nazaj združljivi s prvotnim naborom navodil, ki se uporablja v procesorju 8086. Ker se vsi ti procesorji končajo s številko 86, je bila arhitektura nabora navodil določena z imenom x86. Z uvedbo 80386 smo navodilo x86 razširili na 32bitni sistem. Tu 32-bitni pomeni, da so vsi registri, pomnilniška vodila in podatkovna vodila 32-bitni. Nato so se pojavili procesorji Pentium kot Pentium I, Pentium II, Pentium III, Pentium IV in vsi ti so sledili tudi 32-bitni arhitekturi. Toda razne druge razširitve so se zgodile z arhitekturo x86, na primer dodajanje navodil, kot so MMX, SSE in SSE2. Poleg tega je bilo narejenih tudi veliko drugih izboljšav. Nato smo nabor navodil x86 razširili na 64-bitni nabor navodil in od tega trenutka dalje smo ga imenovali x64, o čemer bomo govorili v naslednjem razdelku. Kakor koli že, na splošno se x86 nanaša na 32bitno arhitekturo, ki se je razvila iz 16bitne arhitekture, ki je nastala s procesorjem 8086.

8086 procesor

Kaj je x64?

32-bitni sistem lahko predstavlja samo 232 različne vrednosti in s tem naslavljanje na pomnilnik je omejeno na to število naslovov. 232 bajti so enaki 4 GB, zato je imel x86 največjo mejo naslovljivega pomnilnika 4 GB. Da bi to premagali, smo naredili nadaljnje razširitve arhitekture x86. AMD je približno leta 2000 predstavil takšno specifikacijo, ki je arhitekturo x86 razširila na 64 bitov. To je bilo predstavljeno pod imenom AMD64. x64 je drugo ime, ki so ga dali tej arhitekturi AMD64. Ta arhitektura AMD64 ali x64 je znana tudi pod imenom x86_64. S 64-bitno arhitekturo so vsi registri postali 64-bitni, pomnilniška vodila in podatkovna vodila pa 64-bitna. Zdaj 264 ločimo lahko različne vrednosti, kar daje ogromno zgornjo mejo možnega največjega pomnilnika. AMD K8 je bil prvi procesor, ki je implementiral to 64-bitno arhitekturo. Nato je Intel tudi to arhitekturo prevzel. S procesorji Intel Core, ki so se začeli z Intel Core 2, je Intel to arhitekturo začel uporabljati v svojih procesorjih. Trenutno to procesorje x64 uporabljajo vsi Intelovi procesorji, kot so Core i3, Core i5 in Core i7. Pomembno je poudariti, da je ta arhitektura x64 še vedno združljiva s starim naborom x86.

64 bitni procesor

Kakšna je razlika med x86 in x64?

• x86 je bil predstavljen okoli leta 1978, medtem ko se je x64 pojavil pred kratkim leta 2000.

• x86 je nastal iz znanega procesorja Intel 8086, zato je x86 predstavil Intel. Toda x64, ki je prišel kot razširitev na x86, je predstavil AMD.

• arhitektura x86 je 32-bitna. (Prvi procesorji x86 so bili 16-bitni, v kasnejših procesorjih pa je bil narejen podaljšek na 32-bitni). x64 arhitektura je 64 bitna.

• Procesorji z arhitekturo nastavitev nastavitev x86 imajo 32-bitne registre, 32-bitno pomnilniško vodilo in 32-bitno vodilo podatkov. Toda x64 ima 64-bitne registre, 64-bitno pomnilniško vodilo in 64-bitno vodilo podatkov.

• x86 ima omejitev glede največjega naslovnega pomnilnika, ki je zgornja meja 4 GB (232 bajtov). Toda pri sistemih x64 je ta meja velika, kar je 264 bajti.

• x64 je razširitev x86; zato je veliko boljši in močnejši od starega x86.

• Vrednosti, ki jih je mogoče shraniti v register, v sistemu x64, so večje od vrednosti, ki jih je mogoče shraniti v register, ki temelji na x86. Zato lahko x64 izračuna hitrejše števila veliko hitreje, saj v tem primeru ni treba uporabiti več registrov za delitev vrednosti in shranjevanje kot v x86.

• x64 lahko vzporedno prenaša podatke večje velikosti po vodilu podatkov. To pomeni, da 64-bitna podatkovna vodila lahko vzporedno prenašajo 64 bitov, medtem ko arhitektura x86, ki ima 32-bitno vodilo, lahko vzporedno prenaša 32-bitne.

Povzetek:

x86 proti x64

arhitektura nabora navodil x86 je 32-bitna, medtem ko je arhitektura nabora navodil x64 64-bitna. x64 je bil podaljšek obstoječe arhitekture x86. Registri, pomnilniška vodila, vodilo podatkov v arhitekturi x86 so 32 bitov, medtem ko je to 64 bitov na x64. Zato je največja dovoljena količina pomnilnika v sistemih x64 zelo višja kot v x86 sistemih. x86 je Intel predstavil s procesorjem 8086, ki je bil 16-bitni procesor, s časom pa se je ta x86 razširil na 32 bit. Nato je AMD arhitekturo x64 predstavil z razširitvijo obstoječe arhitekture x86 in ta x64 je popolnoma nazaj združljiv z naborom navodil x86.

Vljudnost slik:

  1. Intel 8086 by Appaloosa (CC BY-SA 3.0)
  2. 64-bitni procesor Appaloosa (CC BY 3.0)