Starpība starp x86 un x64

x86 pret x64
 

Vissvarīgākā atšķirība starp x86 un x64 ir tā, ka pirmā ir 32 bitu arhitektūra, bet otrā ir 64 bitu instrukciju kopas arhitektūra. Instrukciju kopas arhitektūra (ISA) ir ļoti svarīgs termins, kas attiecas uz jebkuru CPU. Instrukcijas, atmiņas adresēšanu, reģistrus un daudzas citas CPU arhitektūras sadaļas nosaka ISA. x86 ir pasaulē slavens ISA, kuru Intel ieviesa 1978. gadā ar 8086 procesoru. Pēc tam notika dažādi paplašinājumi, un 2000. gadā AMD izveidoja specifikāciju x86 instrukcijas komplekta pagarināšanai līdz 64 bitiem ar nosaukumu AMD64. Vēlāk citi uzņēmumi, piemēram, Intel, arī ieviesa šo specifikāciju, un šis AMD64 ir tas, kuru identificē ar vārdu x64.

Kas ir x86?

x86 ir instrukciju kopas arhitektūra, ko ieviesusi Intel ar slaveno 8086 procesoru. 1978. gadā Intel ieviesa 8086 procesoru, kas bija 16 bitu procesors. Pēc tam viņi ieviesa dažādus procesorus, piemēram, 80186, 80286, 80386 un 80486, un visi bija savietojami ar oriģinālo instrukciju komplektu, ko izmantoja 8086 procesorā. Tā kā visi šie procesori beidzas ar numuru 86, instrukciju kopas arhitektūra tika identificēta ar vārdu x86. Ieviešot 80386, instrukcija x86 tika paplašināta līdz 32 bitu sistēmai. Šeit 32 bitu nozīmē, ka visi reģistri, atmiņas kopne un datu kopne ir 32 bitu. Pēc tam nāca Pentium procesori kā Pentium I, Pentium II, Pentium III, Pentium IV, un arī šie visi sekoja 32 bitu arhitektūrai. Bet x86 arhitektūrai notika dažādi citi paplašinājumi, piemēram, tādu instrukciju pievienošana kā MMX, SSE un SSE2. Bez tam tika veikti arī daudzi citi uzlabojumi. Pēc tam x86 instrukciju kopa tika paplašināta līdz 64 bitu instrukciju kopai, un no šī brīža to sauca par x64, kuru mēs apspriedīsim nākamajā sadaļā. Jebkurā gadījumā, kopumā x86 attiecas uz 32 bitu arhitektūru, kas attīstījās no 16 bitu arhitektūras, kas nāca klajā ar 8086 procesoru.

8086 procesors

Kas ir x64?

32 bitu sistēma var attēlot tikai 232 atšķirīgas vērtības, un tāpēc atmiņas adresēšana ir ierobežota ar šo adrešu skaitu. 232 baiti ir vienādi ar 4 GB, tāpēc x86 maksimālais adresējamās atmiņas ierobežojums bija 4 GB. Lai to pārvarētu, tika veikti turpmāki x86 arhitektūras paplašinājumi. Aptuveni 2000. gadā AMD ieviesa šādu specifikāciju, kas paplašināja x86 arhitektūru līdz 64 bitiem. Tas tika ieviests ar nosaukumu AMD64. x64 ir vēl viens nosaukums, kas dots šai AMD64 arhitektūrai. Šī AMD64 vai x64 arhitektūra ir pazīstama arī ar nosaukumu x86_64. Ar 64 bitu arhitektūru visi reģistri kļuva par 64 bitiem, un atmiņas kopne un datu kopne arī kļuva par 64 bitiem. Tagad 264 var pievērsties atšķirīgām vērtībām, un tas dod milzīgu iespējamās maksimālās atmiņas augšējo robežu. AMD K8 bija pirmais procesors, kas ieviesa šo 64 bitu arhitektūru. Tad Intel arī pieņēma šo arhitektūru. Ar Intel Core procesoriem, kas sākās no Intel Core 2, Intel sāka izmantot šo arhitektūru savos procesoros. Pašlaik visi Intel procesori, piemēram, Core i3, Core i5 un Core i7, izmanto šo x64 arhitektūru. Svarīgi uzsvērt, ka šī x64 arhitektūra joprojām ir savietojama ar veco x86 instrukciju kopu.

64 bitu procesors

Kāda ir atšķirība starp x86 un x64?

• x86 tika ieviests aptuveni 1978. gadā, savukārt x64 tika parādīts nesen - 2000. gadā.

• x86 parādījās no slavenā Intel 8086 procesora, un tāpēc Intel ieviesa x86. Bet x64, kas nāca kā x86 paplašinājums, ieviesa AMD.

• x86 arhitektūra ir 32 bitu. (Pirmie x86 procesori bija 16 bitu, bet vēlākos procesoros tika veikts pagarinājums līdz 32 bitiem). x64 arhitektūra ir 64 bitu.

• Procesoram ar x86 komandu kopas arhitektūru ir 32 bitu reģistri, 32 bitu atmiņas kopne un 32 bitu datu kopne. Bet x64 ir 64 bitu reģistri, 64 bitu atmiņas kopne un 64 bitu datu kopne.

• x86 ir maksimālās adresējamās atmiņas ierobežojums, kas ir 4 GB augšējā robeža (232 baiti). Bet x64 sistēmās šis ierobežojums ir milzīgs, kas ir 264 baiti.

• x64 ir x86 paplašinājums; tāpēc tas ir daudz uzlabots un jaudīgs nekā vecais x86.

• Vērtības, kuras var uzglabāt reģistrā x64 sistēmā, ir lielākas par vērtībām, kuras var uzglabāt x86 balstītā reģistrā. Tāpēc x64 daudz ātrāk var apstrādāt lielāku skaitļu aprēķināšanu, jo tādā gadījumā nav nepieciešams izmantot vairākus reģistrus, lai sadalītu vērtību un saglabātu kā x86.

• x64 var paralēli pārsūtīt lielāka izmēra datus gar datu kopni. Tas ir, 64 bitu datu kopne var paralēli pārsūtīt 64 bitus, savukārt x86 arhitektūra, kurai ir 32 bitu kopne, var tikai pārraidīt 32 bitus.

Kopsavilkums:

x86 pret x64

x86 instrukciju kopas arhitektūra ir 32 biti, bet x64 instrukciju kopas arhitektūra ir 64 biti. x64 nāca kā esošās x86 arhitektūras paplašinājums. Reģistri, atmiņas kopne, datu kopne x86 arhitektūrās ir 32 bitu, kamēr tas ir 64 biti uz x64. Tāpēc x64 sistēmās maksimālais adresējamais atmiņas apjoms ir daudz lielāks nekā x86 sistēmās. x86 ieviesa Intel ar 8086 procesoru, kas bija 16 bitu procesors, un ar laiku šis x86 tika pagarināts līdz 32 bitiem. Pēc tam AMD ieviesa x64 arhitektūru, paplašinot esošo x86 arhitektūru, un šis x64 ir pilnībā atpakaļsaderīgs ar x86 instrukciju kopu.

Attēli pieklājīgi:

  1. Intel 8086, izstrādājusi Appaloosa (CC BY-SA 3.0)
  2. Appaloosa 64 bitu procesors (CC BY 3.0)