x86 vs 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 komplekta arhitektūra. Instrukciju kopas arhitektūra (ISA) ir ļoti svarīgs termins, kas attiecas uz jebkuru procesoru. ISA norāda instrukcijas, atmiņas adresēšanu, reģistrus un daudzas citas procesora arhitektūras sadaļas. x86 ir pasaulslavens ISA, kuru Intel ieviesa 1978. gadā ar 8086 procesoru. Tad notika dažādi paplašinājumi, un 2000. gadā AMD izveidoja specifikāciju, lai x86 instrukciju kopu paplašinātu līdz 64 bitu ar nosaukumu AMD64. Vēlāk citi uzņēmumi, piemēram, Intel, arī ieviesa šo specifikāciju, un šo AMD64 identificē ar nosaukumu x64.
Kas ir x86?
x86 ir instrukciju kopu arhitektūra, kuru Intel ieviesa ar slaveno 8086 procesoru. 1978. gadā Intel ieviesa 8086 procesoru, kas bija 16 bitu procesors. Tad vēlāk viņi ieviesa dažādus procesorus, piemēram, 80186, 80286, 80386 un 80486, un visi bija atpakaļ savietojami ar sākotnējo instrukciju kopu, kas tika izmantots 8086 procesorā. Tā kā visi šie procesori beidzas ar numuru 86, instrukciju kopas arhitektūra tika identificēta ar nosaukumu x86. Ieviešot 80386, instrukcija x86 tika paplašināta līdz 32 bitu sistēmai. Šeit 32 biti nozīmē, ka visi reģistri, atmiņas kopne un datu kopne ir 32 biti. Tad nāca Pentium procesori kā Pentium I, Pentium II, Pentium III, Pentium IV, un visi šie principi sekoja arī 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, ko 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 pārstāvēt tikai 2 32 atšķirīgas vērtības, un tāpēc atmiņas adresēšana ir ierobežota ar šo adrešu skaitu. 2 32 baiti ir vienādi ar 4 GB, un tāpēc x86 maksimālais adresējamās atmiņas ierobežojums ir 4 GB. Lai to pārvarētu, x86 arhitektūrai tika veikti papildu paplašinājumi. Apmēram 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 piešķirts šai AMD64 arhitektūrai. Šī AMD64 vai x64 arhitektūra ir pazīstama arī ar nosaukumu x86_64. Līdz 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 bitu. Tagad 2 64var tikt adresētas atšķirīgas vērtības, un tas dod milzīgu maksimālo atmiņas maksimālo 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. Jāuzsver svarīga lieta, 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ā, bet x64 - nesen - 2000. gadā.
• x86 radās no slavenā Intel 8086 procesora, un tāpēc x86 ieviesa Intel. Bet x64, kas nāca kā paplašinājums x86, ieviesa AMD.
• x86 arhitektūra ir 32 bitu. (Pirmie x86 procesori bija 16 biti, bet vēlākos procesoros tika veikts paplašinājums līdz 32 bitiem). x64 arhitektūra ir 64 bitu.
• Procesoriem ar x86 instrukciju komplekta 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 maksimālās adresējamās atmiņas ierobežojums ir 4 GB (2 32 baiti) augšējā robeža. Bet x64 sistēmās šis ierobežojums ir milzīgs, kas ir 2 64 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 saglabāt reģistrā x64 sistēmā, ir lielākas nekā vērtības, kuras var saglabāt x86 reģistrā. Tāpēc x64 var daudz ātrāk tikt galā ar lielāku veselu 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āku izmēru datus pa datu kopni. Tas ir, 64 bitu datu kopne var paralēli pārraidīt 64 bitus, bet x86 arhitektūra, kurai ir 32 bitu kopne, var paralēli pārraidīt tikai 32 bitus.
Kopsavilkums:
x86 vs 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ā ir 32 biti, bet x64 - 64 biti. Tāpēc maksimālais adresējamās atmiņas apjoms x64 sistēmās 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. Tad vēlāk AMD ieviesa x64 arhitektūru, paplašinot esošo x86 arhitektūru, un šī x64 ir pilnībā savietojama ar x86 instrukciju kopu.
Attēli Pieklājība:
- Appaloosa Intel 8086 (CC BY-SA 3.0)
- Appaloosa 64 bitu procesors (CC BY 3.0)