Otázka čitateľa: V minulosti som používal počítač s 32-bitovým operačným systémom (Windows XP), pričom s nástupom novších systémov Windows 7 a 8 som si všimol, že na notebookoch a všeobecne počítačoch sa objavujú prakticky už len 64-bitové verzie. Myslel som si teda, že sa 32-bitové verzie už celkom nahradili. Aktuálne plánujem kúpiť nový počítač s Windows 10 a prekvapilo ma, že v ponuke samostatného kúpenia systému (on-line verzia alebo USB kľúč) je stále na výber medzi 32- a 64-bitovou verziou. Ako sa vlastne 32-bitová verzia odlišuje od 64-bitovej a kedy má jej kúpenie zmysel? A nahradí 64-bitovú verziu onedlho 128-bitová?

To, čo v týchto označeniach čísla 32- a 64-bit reprezentujú je šírka slova (word size). Ide o počet bitov, s ktorými procesor pracuje v rámci jedného kroku. Táto veľkosť je v rámci CPU zároveň aj veľkosť procesorových registrov, adresných a komunikačných zberníc. Možno sa vám zdá, že v rámci takéhoto „procesorového slova“ sa toho príliš nezmenilo, pretože zdvojnásobenie veľkosti zas nie je také prevratné. O žiadne zdvojnásobenie ale nejde. Číslo, ktoré môže slovo niesť sa zväčšilo z 232 (cca 4 miliardy) na 264 (cca 16 triliónov) a ide teda o „zmiliardaznásobenie“.

Najrozšírenejšia architektúra súčasných notebookov a desktopov je x86. Tá začala svoju cestu v roku 1978 s 16-bitovým procesorom Intel 8086, nasledovaná 32-bitovou architektúrou v roku 1985 (od procesoru Intel 80386) a 64-bitovou v roku 2003 (od procesoru AMD Athlon 64). Na zmenu náležite reagoval aj softvér v podobe operačného systému a programov ako takých. V rámci vývojovej vetvy Windows nastala len jedna takáto zmena, konkrétne z 32 na 64-bitov. To si vyžadovalo fundamentálne zásahy do systému ako takého a jeho výraznú modifikáciu. Prvá 64-bitová verzia Windows bola dostupná v rámci generácie Windows XP. Veľkú popularitu si nikdy nezískala, pretože trvalo veľmi dlhý čas, než výrobcovia takmer nekonečného zástupu hardvéru vyvinuli 64-bitové ovládače svojich zariadení, ktoré pre fungovanie na takomto systéme boli potrebné. Od doby Windows Vista a predovšetkým Windows 7 je však 64-bitová verzia dominantná.

Procesory sú už viac ako dekádu prioritne 64-bitové, výsledkom čoho je lepšia efektivita a rýchlosť v prípade, že na nich používate 64-bitový operačný systém a programy. Nie všetky programy to však vyžadujú a obrovské množstvo je dnes stále 32-bitových a nemá často význam to meniť. Nie pre každý softvér sú totiž výhody relevantné. Na 64-bitovom operačnom systéme ale 32-bitové programy fungujú bez problémov a takisto je to aj v rámci samotného hardvéru. Keďže 64-bitová architektúra je nadstavba 32-bitovej, 64-bitové procesory dokážu fungovať aj s 32-bitovým operačným systémom. Inak povedané, so 64-bitovým operačným systémom a hardvérom môžete prevádzkovať 64-bitový aj 32-bitový hardvér/softvér. Opačne to ale nefunguje. Starý 32-bitový procesor nedokáže prevádzkovať 64-bitový systém a takisto 32-bitový operačný systém nedokáže prevádzkovať 64-bitové programy.

Už z tohto faktu je jasné, že ak dnes vyberáte operačný systém pre nový počítač, nemá absolútne žiadny zmysel uvažovať o 32-bitovej verzii systému. Vždy voľte 64-bitovú. Týka sa to pravdaže len zostáv, ktoré si skladáte sami, alebo pre vás niekto iný. Notebooky, ktoré majú operačný systém už nainštalovaný pri predaji, majú 64-bitový systém automaticky a nemá význam už ani kontrolovať, či je to tak alebo nie. Doba 32-bitových systémov je už skrátka dlhé roky preč.

64-bitový operačný systém Microsoft Windows 10

64-bitový operačný systém Microsoft Windows 10

Prečo sú teda ešte 32-bitové systémy na trhu? Existujú stále staré počítače, ktoré majú 32-bitový procesor a takisto existujú prevádzky v rámci fabrík alebo rôznych inštitúcii, ktoré majú špecializovaný softvér z éry MS-DOS, ktorý bol 16-bitový. Podobne ako 64-bitová verzia operačného systému dokáže prevádzkovať 32-bitové programy, tak aj 32-bitový systém dokáže prevádzkovať tieto „predpotopné“ 16-bitové programy z dôb MS-DOS z 80-tych a začiatku 90-tych rokov. Pre takéto použitia má teda význam. To je ale viac menej všetko a v súvislosti s novými počítačmi o ňom v žiadnom prípade neuvažujte.

S 32- a 64-bitovou architektúrou hardvéru a takisto operačných systémov súvisí takisto veľkosť maximálnej adresovanej pamäte. Adresný priestor 32-bitov totiž končí pri 4 GB. Na počítači s 32-bitovým systémom teda nemôžete mať efektívne viac ako 4 GB funkčnej RAM. Ak máte samostatnú grafickú kartu (napríklad s 1 GB či viac grafickej pamäte), tak ani to, pretože do adresného priestoru sa zarátava aj tá. Niektoré systémy v minulosti používali „pomocné kolieska“ v podobe PAE, ktoré pamäť „dodatočne prilepili“ ako ďalší adresný priestor, to sa ale nezaobišlo bez straty výkonu a takisto ak viac ako 3 GB potreboval jeden program, šlo viac menej o nočnú moru.

Ak sme sa postupne posunuli z 16-bitov na 32-bitov a neskôr na 64-bitov, môžeme očakávať, že sa v dohľadnej dobe posunieme na 128-bitové procesory a operačné systémy? Jednoduchá a rýchla odpoveď na túto otázku je NIE. Z hľadiska pamäte napríklad 64-bitový systém a hardvér umožňuje adresovanie 18 exabajtov. Ak by Moorov zákon pokračoval s 18 mesačným násobením (čo sa už v poslednej dobe nedeje), nebol by tento limit problém ešte ďalších 30 rokov. V skutočnosti to ale nebude problém ešte možno aj omnoho viac (v rámci používateľských zariadení).

Z hľadiska interných operácii procesoru 128-bitová architektúra takisto nie je potrebná. Súčasné CPU totiž môžu v rámci SIMD operácii už s dávkami veľkými 128 či dokonca 256-bitov operovať už dnes. Ide o špecifické inštrukcie ako SSE, 3DNow! či AVX2, ktoré sú súčasťou samotných procesorov a ich výpis a podporu nájdete v detailnom popise jednotlivých produktov. Niektoré pri tom siahajú až na 512 bitov na inštrukciu (AVX3 pre špecifické akcelerátory Xeon Phi určené pre superpočítače). Dnes jednoducho nie je dôvod, prečo by sme mali vyvíjať 128-bitové procesory a operačné systémy. V úzkych okruhoch úloh, kde je takéto spracovanie dát potrebné, je to totiž už dávno možné. Naopak, existuje niekoľko negatív, kvôli ktorým takýto procesor nikto nevyvíja. Znamenalo by to napríklad nutnosť zväčšovania veľmi drahej L1 cache, čo by zvýšilo latenciu a navyše zdvojnásobenie zberníc by znamenalo väčšie náklady, zvýšené požiadavky na napájanie a takisto väčšiu produkciu tepla. Plné využitie by takisto vyžadovalo veľké zmeny programov a systému, ktoré by navyše príliš nezískali, pretože na rozdiel od doby, kedy sa prechádzalo z 32- na 64-bitov nie sú súčasné riešenia ani zďaleka limitované. Dnes a pravdepodobne ani v najbližších desaťročiach nenájdeme benefity, ktoré by ospravedlnili prechod procesorov a softvéru na 128-bitovú šírku slova. Existuje naopak celý zástup negatív, prečo by sme to ešte dlho robiť nemali.

Tento článok vyšiel aj v tlačenom júlovo-augustovom vydaní TOUCHIT č. 6/2016, preto sa niektoré skutočnosti uvedené v článku, môžu odlišovať oproti aktuálnemu dátumu publikovania.

Značky:

František Urban

František Urban
Zameriavam sa najmä na prehľadové a analytické články z oblasti najrôznejších technológií a ich vývoja. Nájdete ma takisto pri diagnostike HW a SW problémov.