x86 vs x64
Tofauti muhimu zaidi kati ya x86 na x64 ni kwamba ya kwanza ni usanifu wa biti 32 na ya mwisho ni usanifu wa seti ya maagizo ya 64. Usanifu wa seti ya maagizo (ISA) ni neno muhimu sana ambalo linatumika kwa CPU yoyote. Maagizo, anwani za kumbukumbu, rejista, na sehemu nyingine nyingi za usanifu wa CPU zimebainishwa na ISA. x86 ni ISA maarufu ulimwenguni iliyoanzishwa na Intel mnamo 1978 na kichakataji cha 8086. Kisha upanuzi mbalimbali ulifanyika na, mwaka wa 2000, AMD iliunda vipimo vya kupanua maagizo ya x86 yaliyowekwa kwa 64bit chini ya jina la AMD64. Baadaye makampuni mengine kama vile Intel pia yalitekeleza vipimo hivyo na AMD64 hii ndiyo inayotambulika kwa jina x64.
x86 ni nini?
x86 ni usanifu wa seti ya maagizo ulioanzishwa na Intel kwa kichakataji maarufu cha 8086. Mnamo 1978, Intel ilianzisha kichakataji cha 8086 ambacho kilikuwa kichakataji 16 kidogo. Kisha baadaye walianzisha vichakataji mbalimbali kama vile 80186, 80286, 80386 na 80486, na zote ziliendana nyuma na seti ya maagizo ya awali iliyotumiwa katika kichakataji cha 8086. Kwa kuwa wasindikaji hawa wote huisha na nambari 86, usanifu wa seti ya maagizo ulitambuliwa kwa jina x86. Kwa kuanzishwa kwa 80386, maagizo ya x86 yaliongezwa kwa mfumo wa 32bit. Hapa, 32-bit inamaanisha kuwa rejista zote, basi ya kumbukumbu, na basi ya data ni 32-bit. Kisha wasindikaji wa Pentium wakaja kama Pentium I, Pentium II, Pentium III, Pentium IV na yote haya yalifuata usanifu wa 32 bit pia. Lakini viendelezi vingine vingi vilifanyika kwa usanifu wa x86, kama vile kuongeza maagizo kama MMX, SSE na SSE2. Mbali na hayo, maboresho mengine mengi pia yalifanyika. Kisha, seti ya maagizo ya x86 ilipanuliwa hadi seti ya maagizo ya biti 64 na kuanzia hatua hii kuendelea iliitwa kama x64, ambayo tutaijadili katika sehemu inayofuata. Hata hivyo, kwa ujumla, x86 inarejelea usanifu wa 32bit ambao uliibuka kutoka kwa usanifu wa 16bit ambao ulikuja na kichakataji cha 8086.
8086 kichakataji
x64 ni nini?
Mfumo wa biti 32 unaweza kuwakilisha tu 232 thamani tofauti na, kwa hivyo, ushughulikiaji wa kumbukumbu ni mdogo kwa idadi hiyo ya anwani. 232 baiti ni sawa na GB 4 na, kwa hivyo, x86 ilikuwa na kikomo cha juu cha kumbukumbu kinachoweza kushughulikiwa cha GB 4. Ili kuondokana na hili, upanuzi zaidi ulifanyika kwa usanifu wa x86. AMD, karibu mwaka wa 2000, ilianzisha vipimo hivyo ambavyo vilipanua usanifu wa x86 hadi bits 64. Hii ilianzishwa chini ya jina AMD64. x64 ni jina lingine lililopewa usanifu huu wa AMD64. Usanifu huu wa AMD64 au x64 pia unajulikana chini ya jina x86_64. Kwa usanifu wa biti 64, rejista zote zikawa biti 64 na basi ya kumbukumbu na basi ya data pia ikawa 64 bit. Sasa 264 thamani tofauti zinaweza kushughulikiwa na hii inatoa kikomo kikubwa cha juu kwenye kumbukumbu ya juu iwezekanavyo. AMD K8 ilikuwa processor ya kwanza iliyotekeleza usanifu huu wa 64-bit. Kisha Intel pia ilipitisha usanifu huu. Na vichakataji vya Intel Core vilivyoanza kutoka Intel Core 2, Intel ilianza kutumia usanifu huu katika vichakataji vyao. Hivi sasa, vichakataji vyote vya Intel kama vile Core i3, Core i5 na Core i7 hutumia usanifu huu wa x64. Jambo muhimu la kusisitiza ni kwamba usanifu huu wa x64 bado unaendana nyuma na seti ya zamani ya maagizo ya x86.
64 biti kichakataji
Kuna tofauti gani kati ya x86 na x64?
• x86 ilianzishwa karibu mwaka wa 1978 wakati x64 ilikuja hivi majuzi zaidi katika mwaka wa 2000.
• x86 iliibuka kutoka kwa kichakataji maarufu cha Intel 8086 na, kwa hivyo, x86 ilianzishwa na Intel. Lakini x64, ambayo ilikuja kama kiendelezi kwa x86, ilianzishwa na AMD.
• Usanifu wa x86 ni 32bit. (Wasindikaji wa kwanza wa x86 walikuwa 16 kidogo lakini, katika wasindikaji wa baadaye, ugani wa 32bit ulifanyika). usanifu wa x64 ni biti 64.
• Vichakataji vilivyo na usanifu wa seti ya maagizo ya x86, kwa hivyo, ina rejista 32 za biti, basi ya kumbukumbu ya biti 32, na basi ya data ya biti 32. Lakini x64 ina rejista 64 biti, basi ya kumbukumbu ya biti 64, na basi ya data biti 64.
• x86 ina kikomo cha kumbukumbu ya juu inayoweza kushughulikiwa ambayo ni kikomo cha juu cha GB 4 (232 baiti). Lakini, kwenye mifumo ya x64, kikomo hiki ni kikubwa, ambacho ni baiti 264.
• x64 ni upanuzi wa x86; kwa hivyo, imeboreshwa na ina nguvu zaidi kuliko x86 ya zamani.
• Thamani zinazoweza kuhifadhiwa katika rejista, katika mfumo wa x64, ni kubwa kuliko zile zinazoweza kuhifadhiwa katika rejista ya x86. Kwa hivyo, x64 inaweza kushughulikia hesabu ya nambari kubwa kwa haraka zaidi, kwani hakuna ulazima wa kutumia rejista kadhaa katika hali kama hiyo kugawanya thamani na kuhifadhi kama katika x86.
• x64 inaweza sambamba kusambaza data ya ukubwa mkubwa kando ya basi la data. Hiyo ni, basi ya data ya biti 64 inaweza sambamba kusambaza biti 64 wakati usanifu wa x86 ambao una basi 32 unaweza tu kusambaza biti 32 sambamba.
Muhtasari:
x86 vs x64
x86 usanifu wa seti ya maagizo ni biti 32 huku usanifu wa seti ya maagizo ya x64 ni biti 64. x64 ilikuja kama kiendelezi cha usanifu uliopo wa x86. Rejesta, basi la kumbukumbu, basi la data kwenye usanifu wa x86 ni biti 32 wakati hii ni biti 64 kwenye x64. Kwa hivyo, kiwango cha juu cha kumbukumbu kinachoweza kushughulikiwa ni cha juu sana katika mifumo ya x64 kuliko mifumo ya x86.x86 ilianzishwa na Intel kwa kichakataji cha 8086 ambacho kilikuwa kichakataji 16-bit na wakati x86 hii ilipanuliwa hadi 32-bit. Kisha baadaye, AMD ilianzisha usanifu wa x64 kwa kupanua usanifu uliopo wa x86 na x64 hii inaoana kabisa na seti ya maagizo ya x86.