x86-64 (x64) — 64 bitų procesorių ir instrukcijų rinkinio apibrėžimas
Sužinokite apie x86-64 (x64) 64 bitų procesorių ir instrukcijų rinkinį: suderinamumą su x86, AMD/Intel architektūras ir APU pritaikymą žaidimų konsolėse.
x86-64 - tai bendras 64 bitų procesorių serijos ir su jais susijusios instrukcijų rinkinio architektūros pavadinimas. Šie procesoriai suderinami su senąja x86 programine įranga.
Pagrindiniai gamintojai yra AMD ir "Intel", o VIA taip pat palaikė "VIA Nano" procesorius. Savo 64 bitų procesorius jie vadina atitinkamai AMD64, Intel64 ir VIA x86-64 procesoriais. Tokiose žaidimų konsolėse kaip "Microsoft Xbox One" ir "Sony PlayStation 4" kaip pagrindiniai procesoriai naudojami jų pačių pusiau pritaikyti AMD64 pagrindu sukurti APU.
x64 - dar vienas pavadinimas, kuriuo vadinamos 64 bitų išplėstinės sistemos, pagrįstos šios rūšies procesoriais. Žmonės dažnai naudoja x64, norėdami nurodyti su juo susijusią instrukcijų rinkinio architektūrą ir procesorių.
Istorija ir pavadinimai
x86-64 buvo sukurtas AMD kaip tęsinys ir išplėtimas tradicinės 32 bitų x86 architektūros, siekiant palaikyti didesnį atminties adresavimą ir geresnį našumą. AMD pradinį įgyvendinimą pavadino AMD64. Intel vėliau priėmė panašų dizainą ir savo sprendimą marketingo tikslais vadino Intel64 (anksčiau taip pat žinoma kaip EM64T). Dėl šios įvairovės dažnai naudojami terminai x86-64 ir x64 sinonimiškai.
Pagrindinės techninės savybės
- 64 bitų registrai: x86-64 išplečia bendruosius registrus iki 64 bitų (pvz., RAX, RBX, RCX ir t. t.) bei prideda papildomus registrus (R8–R15), kas pagerina optimizacijų galimybes ir efektyvumą.
- Platesnis adresavimas: x86-64 palaiko žymiai didesnį adresų erdvę nei 32 bitų x86 – pradžioje buvo naudojami 48 bitų „kanoniniai“ adresai, vėlesnėse implementacijose palaikomas didesnis adresavimo diapazonas (pvz., 57 bitų).
- RIP-relatyvus adresavimas: instrukcijos gali patogiai naudoti programos skaitmenų rodiklį (RIP) kaip atskaitos tašką, kas palengvina pozicijomis nepriklausomą kodą.
- Instrukcijų išplėtimai: x86-64 palaiko modernias instrukcijų išplėtimo grupes, kaip SSE, SSE2, SSE3, AVX ir kt., kas svarbu skaičiavimams, multimedijai ir mokymuisi mašinoms.
Režimai: long mode, compatibility ir legacy
x86-64 įgyvendinimas palaiko kelis veikimo režimus:
- Long mode: tai pagrindinis 64 bitų režimas, kuriame vykdomas 64 bitų kodas ir naudojami 64 bitų registrai bei išplėstas virtualus adresavimas.
- Compatibility mode: long mode turi suderinamumo posistemį, leidžiantį vienu metu vykdyti 32 bitų ir 16 bitų programinę įrangą (kai operacinė sistema to palaiko), be reikalo perkraunant sistemą.
- Legacy (real/ protected) režimai: tradiciniai x86 režimai, naudojami senosios 16/32 bitų programinės įrangos ir BIOS aplinkoje.
Suderinamumas ir perkėlimas
Viena iš didžiųjų x86-64 privalumų — suderinamumas su esama x86 (32 bitų) programine įranga: daug programų gali veikti be pertvarkymo, ypač jei operacinė sistema palaiko 32 bitų procesus. Tačiau norint pasinaudoti visomis 64 bitų privalumais (pvz., visi 64 bitų registrai, didesnis adresų erdvė), reikia perkompiliuoti arba pakartotinai sudaryti programinę įrangą.
Atminties ribos ir canonical adresai
Nors procesoriai turi 64 bitų registrus, ne visi 64 bitai iš karto naudojami virtualiems adresams. Ankstesnėse implementacijose virtualūs adresai buvo „kanoniniai“ ir efektyviai riboti iki 48 bitų, vėlesnėse — iki 57 bitų ar daugiau, priklausomai nuo mikroarchitektūros. Tai reiškia, kad praktinė adresų erdvė yra didesnė už 32 bitų ribą, bet ne visada visa 64 bitų teorinė erdvė.
Operacinės sistemos ir palaikymas
Daugelis modernių operacinių sistemų palaiko x86-64: įvairios Linux distribucijos, Microsoft Windows (x64 versijos), macOS (naujesnėse versijose), BSD šeima ir kt. Dažnai OS palaiko tiek 64 bitų programų vykdymą, tiek 32 bitų suderinamumą (compatibilty layers), nors kai kurios naujesnės platformos palaiko tik 64 bitų vartojimą.
Praktiniai skirtumai ir efektyvumas
Perėjimas prie x86-64 suteikia:
- didesnį prieinamą atminties kiekį (virš 4 GB be sudėtingų sprendimų),
- efektyvesnį skaičiavimų išnaudojimą dėl papildomų registrų ir platesnių registrų pločių,
- geresnį palaikymą modernioms instrukcijų išplėtimams.
Tačiau kai kuriems senesniems arba labai išteklius taupantiems taikomiesiems sprendimams 64 bitų režimas gali šiek tiek padidinti atminties poreikį dėl platesnių rodiklių ir struktūrų.
Pritaikymas ir pavyzdžiai
x86-64 architektūra plačiai naudojama tiek staliniuose kompiuteriuose, tiek serveriuose, darbo stotyse, kai kuriose nešiojamose sistemose ir specializuotose įrenginiuose. Kaip minėta pradžioje, jos variantai (AMD64 pagrindu) buvo pritaikyti net žaidimų konsolėms, pavyzdžiui, "Microsoft Xbox One" ir "Sony PlayStation 4".
Santrauka
x86-64 (taip pat vadinamas x64, AMD64 ar Intel64) — tai 64 bitų išplėtimas tradicinės x86 architektūros, sukurta siekiant didesnio adresavimo, geresnio našumo ir suderinamumo su ankstesnėmis x86 programomis. Ji tapo vyraujančia 64 bitų platforma daugelyje asmeninių kompiuterių, serverių ir specializuotų įrenginių.
Stalinių kompiuterių procesoriai
AMD64
- AMD Athlon 64
- "AMD Athlon X2
- "AMD Athlon II
- AMD Sempron
- "AMD Sempron X2
- "AMD Phenom
- "AMD Phenom II
- AMD FX
- AMD APU A4/A6/A8/A9/A10/A12
- AMD APU "Athlon
- AMD APU "Sempron
- "AMD Ryzen
"Intel 64" (EM64T)
- "Intel Pentium 4
- "Intel Pentium D
- "Intel Celeron D
- "Intel Pentium Dual Core
- "Intel Celeron
- "Intel Core 2
- "Intel Core i3/i5/i7/i9
- "Intel Atom
VIA x86-64
"VIA Nano
Stalinio kompiuterio operacinė sistema
"Windows XP Professional x64
"Windows Vista/7/8/8.1/10 x64
"Mac OS X 10.4.7" ir vėlesnės versijos
"Solaris 10" ir vėlesnės versijos
"Linux 2.4.x" ir vėlesnės versijos
Ieškoti