211service.com
64bitová otázka
Je ve vaší budoucnosti 64bitový počítač?
Se vším tím humbukem kolem 64bitových procesorů pravděpodobně předpokládáte, že moje odpověď bude jednoznačné ano – a zatraceně brzy také! Nechte však stranou marketingový rozruch kolem čipů, jako je AMD Athlon64; ve skutečnosti na 64 bitech záleží mnohem méně, než by si počítačový průmysl myslel. Ve skutečnosti, pokud náhodou nejste uživatelem Macintoshe, možná si nekoupíte 64bitový počítač po další desetiletí – pokud si ho ve skutečnosti vůbec někdy koupíte.
Nejprve trochu pozadí. Procesory v drtivé většině dnešních stolních a přenosných počítačů jsou 32bitové čipy. Většina z nich je založena na neuvěřitelně úspěšné architektuře IA32 společnosti Intel, známé také jako x86 (jako 286, 386, 486). Všechny stroje Intel Celeron a Pentium jsou IA32, stejně jako čipy AMD Athlon.
Ale najednou mají 64bitové stroje jakousi záminku. AMD už dva roky prodává procesory, které dokážou spustit 32bitový i 64bitový kód současně; počítače postavené s těmito čipy mohou používat buď Linux, nebo speciální 64bitovou verzi Windows XP, kterou Microsoft vydal začátkem tohoto roku. Apple mezitím dodává všechny své počítače Power Mac s mikroprocesorem G5, 64bitovým mozkem vytvořeným IBM. A svým způsobem všechny tyto stolní systémy dohánějí: Nintendo provedlo 64bitový přechod v roce 1996, když dodalo svou herní konzoli Nintendo64.
Abyste pochopili, proč na tom všem záleží, musíte nejprve pochopit, že fráze 32 bitů je jakousi zkratkou, kterou používají počítačoví návrháři. Toto číslo odkazuje na dvě věci uvnitř architektury počítače. Za prvé, znamená, kolik bitů tyto počítače používají, když určují umístění v paměti, kde je uložena informace. Za druhé, označuje velikost registrů uvnitř mikroprocesoru, které se používají k provádění matematiky. Každý bit může být 1 nebo 0, takže 32 bitů lze použít k reprezentaci 232 nebo 4 294 967 296 různých hodnot. Zjevný rozdíl mezi 32bitovými a 64bitovými stroji je tedy v tom, že 64bitové systémy jsou mnohem větší stroje: mohou adresovat více paměti a umí počítat s většími čísly.
Více však nutně neznamená lépe – záleží na tom, čeho dostáváte více.
Down Memory Lane
Přechod z 32 bitů na 64 bitů je nejdůležitější, pokud jde o schopnost těchto počítačů adresovat paměť. Program běžící na 32bitovém počítači může snadno adresovat 4 gigabajty paměti-vyvolání, 232 je zhruba 4,3 miliardy. Na druhou stranu, program běžící na 64bitovém stroji dokáže adresovat 264 – to jsou 4 miliardy krát 4 miliardy bajtů, což je překvapivě velké číslo. Stačí provést čísla a je jasné, že na 64bitovém systému je mnohem více prostoru. Ale tyto dvě skutečnosti jsou ve skutečnosti zodpovědné za spoustu zmatků, jak uvidíme.
Původní osobní počítač IBM používal mikroprocesor Intel 8088 – legrační malý čip, který byl plný podivných technických kompromisů. Ve svém srdci byl 8088 16bitový procesor: měl 16bitové matematické registry, které mu umožňovaly snadno reprezentovat čísla mezi 0 a 65 535 (nebo mezi -32 768 a 32 767), a 16bitové adresové registry, které mu umožňovaly snadno komunikovat s 64 kilobajty hlavní paměti. Nyní 64K nestačilo na nic, dokonce ani v roce 1981, kdy byl počítač poprvé dodán, takže 8088 měl sadu segmentových registrů, které byly posunuty o 4 bity doleva a přidány do registru adres, než byly adresy paměti skutečně vytvořeny. čtené nebo psané. Výsledkem je, že 8088 mohl snadno přistupovat až k jednomu megabajtu paměti. Megabajt byl v roce 1981 hodně paměti RAM. Tehdy si počítačoví designéři skutečně nedokázali představit, že by typický domácí nebo firemní uživatel potřeboval tolik paměti, natož aby si ji mohl dovolit, po mnoho následujících let. Designéři IBM tedy nakreslili čáru přes mapu paměti počítače a umístili paměť pro zobrazení videa přímo doprostřed horní poloviny, čímž účinně omezili rané počítače na ne více než 640 kilobajtů RAM. Toto byla geneze limitu 640 kB, který zavedl počítač IBM na svůj operační systém DOS.
O několik let později Intel představil svůj další mikroprocesor, 80286. (Ten 80186 se do osobních počítačů nikdy nedostal.) 286 byl základem PC/AT od IBM. Měl režim emulace (nazývaný reálný režim), který umožňoval 286 spouštět stejný software jako 8088, ale měl také pokročilý chráněný režim, který umožňoval provoz s až 16 megabajty RAM. Naprostá většina těchto strojů byla provozována v reálném režimu, takže na nich mohl běžet Microsoft DOS a všechny ostatní programy, které byly napsány pro původní IBM PC. Ve skutečnosti byl 286 mnohem populárnější při spouštění softwaru 8088 než 8088 kdy byl, protože 286 byl mnohem rychlejší. Když se k tomu dostanete, jen velmi málo 286 čipů bylo skutečně spuštěno v chráněném režimu.
V roce 1985 Intel představil čip 80386 – první 32bitový procesor v rodině x86. Tento mikroprocesor měl opět takzvaný reálný režim, aby mohl běžet DOS a zbytek softwarové základny 8088. Tyto stroje mohly kroužit kolem původního 8088 – ne proto, že by to byly 32bitové stroje, ale protože měly rychlejší takt a propracovanější vnitřní design. Existovala také řada společností, které prodávaly DOS extendery, které umožňovaly programům načteným pod DOSem využívat plný 32bitový adresní prostor. Tyto extendery přepnuly počítač do 32bitového režimu pro matematiku, ale vrátily stroj do 16bitového režimu, kdykoli program potřeboval získat přístup k pevnému disku počítače. Nicméně 32bitové programy běžící na těchto 32bitových procesorech byly výjimkou, nikoli pravidlem.
Až když 32bitové stroje výrazně převýšily 16bitové stroje, začal Microsoft dodávat svůj první skutečný 32bitový operační systém – Windows 95. V té době Intel představil dvě další generace x86 stroje – 80486 a Pentium. Ano, Microsoft mohl dodat 32bitový operační systém roky před uvedením Windows 95. Ale pravděpodobně by to byla chyba: proč prodávat operační systém, který na trhu nefunguje na většině počítačů?
Celá tato historie je náhle znovu relevantní, když zvažujeme další velký skok v architektuře PC – posun od 32bitových k 64bitovým výpočtům. Ale zatímco návratnost přesunu z 16bitového adresního prostoru (nebo 20bitů, pokud vezmete v úvahu segmentovanou architekturu 8088) na 32bitů byla obrovská, většina uživatelů počítačů si přechod z 32bitového na 64bitový sotva všimne. Důvodem je, že 32 bitů je ve skutečnosti dost velké na to, aby vyřešilo velkou většinu výpočetních úloh – nejen dnešních, ale i zítřejších.
Je nepravděpodobné, že by přechod z 32 bitů na 64 přinesl stejný kvantový skok v rychlosti nebo schopnostech, jaký jsme získali při přechodu z 16 bitů na 32. Ano, 64 bitů adresy je skutečně ohromné, ale 32 bitů není nic, na co by se dalo kýchnout.
Dnes je jen málo aplikací, které skutečně potřebují více než 4 gigabajty paměti. Pokud to, co děláte, je zpracování textu, tabulky, e-mail a procházení webu, 32 bitů poskytne dostatek adresního prostoru pro myslitelnou budoucnost. Můj stolní počítač se systémem Windows je pamětní prase – jeho kopie Internet Exploreru běžně nabírá až 64 megabajtů. Ale to je stále jedna šedesátá čtvrtá velikost 4gigabajtové paměťové mapy stroje. Nedokážu si představit, že bych mohl spustit webový prohlížeč, který by vyžadoval 4GB paměťovou mapu: stažení takového množství informací přes DSL linku by trvalo téměř 10 hodin!
Možná si myslíte, že multitasking s jinými podobně předimenzovanými aplikacemi způsobí stále se zvyšující tlak na paměť až do bodu, kdy dělá mít obavy z využití adresního prostoru. Ale není tomu tak. Windows, Unix a další moderní operační systémy používají techniku zvanou virtuální paměť, která každému programu poskytuje vlastní izolovanou paměťovou mapu. Na 32bitovém počítači to znamená, že každý spuštěný program dostane své vlastní 4 gigabajty virtuální paměti, se kterou si může hrát. Takže zatímco jedna instance spuštěného programu nemůže získat přístup k více než 4 gigabajtům, 32bitový počítač se systémem Windows XP s 10 nebo 20 gigabajty paměti by neměl problémy se sdílením této paměti mezi nafouknutým prohlížečem, nafouklou kopií Wordu. 2003 a nabušenou kopii Accessu.
Velký rozdíl je v tomto 64bitovém adresním prostoru, když jeden program potřebuje přístup k více než 4 gigabajtům paměti najednou. Pokud například provozujete datový sklad pro nadnárodní společnost s 10 terabajty online úložiště, váš databázový server může mít vážný prospěch z toho, že v paměti bude mít 10 nebo 20 gigabajtů indexových souborů. Rozsáhlá simulace by mohla podobně těžit z toho, že by měla k dispozici spoustu paměti RAM pro věci, jako je modelování počasí pro pozítří.
Vzhledem k tomu, že společnosti jako Dell dodávají domácí počítače s 512 megabajty RAM a počítače se systémem Windows XP běžně používají 1,5 gigabajtů paměti k uložení všech svých programů, marketéři prosazující 64bitové výpočty budou říkat, že potřebujete 64bitový stroj. k prolomení rychle se blížícího limitu 4 gigabajtů. nevěřte tomu. Ve skutečnosti Dell již prodává 32bitové počítače s 8, 16 a 32 gigabajty paměti RAM. Obchodníci chtějí, abyste si koupili 64bitové stroje, protože tyto systémy jsou dražší.
Druhým způsobem, jak 64bitové stroje předčí dnešní 32bitové systémy, je matematické výpočty. Zatímco dnešní 32bitové stroje mají procesory, které mohou představovat jakékoli celé číslo mezi 0 a 4 294 967 295 (to je 232-1), 64bitový stroj může reprezentovat celá čísla mezi 0 a 18 446 744 073 709 551 415 (2615).
Opět platí, že schopnost počítat s těmito obrovskými čísly v jedné instrukci může být obrovskou výhodou v malém počtu vědeckých aplikací. Ukazuje se však, že pro většinu každodenních kancelářských úkolů není 64bitová celočíselná matematika tak užitečná. Pro začátek je to proto, že již máme stroje, které umí 64bitové: dnešní stroje to dělají pouze se speciálními jednotkami pro zpracování s plovoucí desetinnou čárkou, nebo to dělají s více 32bitovými instrukcemi. Pro většinu operací prostě není potřeba speciální 64bitový matematický hardware.
V tomhle mě nemusíte brát za slovo. Stačí se podívat na historii jiných 64bitových architektur. Zatímco 64 bitů je ve světě x86 novinkou, jiné mikroprocesory přešly na 64 bitů již v 90. letech. Alpha, MIPS64 a Sparc64 jsou všechny 64bitové stroje. Přesto většina programů běžících na těchto počítačích efektivně ignoruje horních 32 bitů každého čísla – je to proto, že tyto číslice jsou vždy 0.
Skutečná 64bitová výplata: Novější návrhy
Všechny tyto argumenty proti 64bitovým strojům se však přetavují do dřeva, když si však sednete před nový počítač Apple G5: bez ohledu na to, zda upravujete video nebo prostě prohlížíte web, počítač se zdá být výrazně rychlejší než 32bitový. G4 bratranci. Co tedy dává?
S významnou výjimkou procesoru Intel Itanium běží dnešní 64bitové stroje obecně 32bitový kód rychleji než jejich 32bitové příbuzné ze stejného důvodu, jako 32bitový Intel 80386 spouštěl 16bitový kód rychleji než 8088 a 80286. Důvodem je, že 64bitové CPU jsou prostě modernější zařízení. Tyto čipy jsou vyrobeny pomocí pokročilejších křemíkových procesů, mají vyšší taktovací frekvenci a obsahují více tranzistorů. AMD Athlon64 a IBM G5 nemají jen širší registry: mají také více funkčních jednotek uvnitř svých křemíkových mozků. Tyto čipy odvádějí lepší práci ve věcech, jako je provádění více instrukcí současně, provádění mimo pořadí a predikce větví. Tento 64bitový PowerMac G5 běžící v Apple Storu používá z velké části 32bitový kód. Působivá rychlost stroje pochází z kombinace dvou procesorů, vyšších taktů, větší mezipaměti a lepší paměťové sběrnice.
Ano, AMD a IBM mohly dát stejnou technologii do nového 32bitového designu. V dnešní době však návrh nového čipu stojí miliardy dolarů. 64bitový procesor může mít vyšší cenu než 32bitový procesor, takže je v nejlepším zájmu těchto společností, aby do svých 64bitových produktů vložily svou nejnovější a nejlepší technologii.
Když se podíváme do budoucna, 64bitové výpočty se skutečně uchytí, protože 64bitové stroje prostě odvedou lepší práci s dnešním 32bitovým kódem než dnešní 32bitové procesory. Trh by se ale mohl snadno vyvíjet jiným směrem. Těchto extra 32 bitů spotřebuje hodně energie, takže společnosti vyrábějící CPU pro notebooky a handheldy mohou jednoduše složit triky vyvinuté pro 64bitové stroje do svých 32bitových zařízení.
Totéž se stalo v herních konzolích. Ačkoli před několika lety bylo velké vzrušení, když se Nintendo rozhodlo použít 64bitový procesor R4300i pro svůj systém Nintendo 64, hráči videoher ve skutečnosti z 32 bitů adresy nebo matematiky navíc neměli žádný prospěch. R4300i byl ve své době rychlý čip, protože implementoval spoustu dalších nejmodernějších technik pro urychlení provádění programů. Mohl by poskytnout stejnou úroveň výkonu, kdyby tyto triky byly aplikovány na 32bitový procesor. Rychlost přinesly triky, ne kousky.
128bitová vazba?
Poté, co jsme prožili skok z 8 na 16 bitů, poté z 16 na 32 a nyní z 32 na 64, je zcela přirozené si myslet, že někdy ve vzdálené budoucnosti provedeme přechod z 64bitových na 128bitové systémy. nezadržujte dech.
Zde je důležité si pamatovat, že bity jsou exponenciální. 32bitový systém umí adresovat 65 tisíc krát více paměti než 16bitový systém, zatímco 64bitový systém má teoretický paměťový adresní prostor 4 miliardy krát větší než u 32bitového systému. S dnešním hardwarem byste ve skutečnosti mohli postavit jediný paměťový systém, který by pojal 264 bajtů úložiště – ale museli byste použít více než 200 milionů pevných disků, z nichž každý pojme 256 gigabajtů informací. To je více úložného prostoru, než bylo poskytnuto celým světovým průmyslem pevných disků v roce 2003. Takže i když si lze představit, že byste dnes mohli postavit paměťový systém s kapacitou 264 bajtů, pravděpodobně byste museli používat každý počítač na světě, který je připojen k internetu. .
Ačkoli je možné si představit budoucnost, kdy budou počítače přistupovat k 264bajtovým databázím, je těžké si představit jediný problém, který by vyžadoval, aby program měl tolik paměti dostupné v jediném adresním prostoru. Jedním z důvodů, proč tak neuvěřitelně velký systém nedává smysl, je, že byste takový systém nepostavili s jediným procesorem a jediným jednotným adresním prostorem: místo toho byste použili miliony nebo miliardy procesních prvků, všechny s překrývající se pamětí a odpovědnost. Pokud by tedy selhal jeden procesor nebo blok paměti, ostatní systémy by to bez problémů převzaly.
Vzhledem k takovým argumentům je docela nerozumné si představit, že byste potřebovali 2128 bitů úložiště – ne za našeho života, ne za života nikoho.
Na druhou stranu bych se v tom všem mohl úplně mýlit: 64 bitů by mohlo být to pravé pro provádění celotělové virtuální reality s možnostmi morfování mysli, setkávání se s myslí. Nebo spíše společnosti jako Dell by se mohly rozhodnout následovat příklad společnosti Apple a přestat prodávat stroje nižší třídy s 32bitovými procesory, místo toho se spoléhat na marketingový humbuk 64bitových strojů, aby ospravedlnily vyšší ziskové marže.
Ale pamatujte, že dole je vždy místo. A protože 32bitové stroje budou pravděpodobně užitečné ještě nejméně deset let, ne-li déle, byl bych překvapen, kdyby Dell postoupil tento trh jiné společnosti. Stačí se podívat na Apple: zatímco všechny stolní počítače PowerMac, které Apple prodává, jsou dodávány s procesory G5, společnost stále používá G4 ve svých počítačích iMac, eMac a PowerBook.
Osobně si myslím, že 32bitové systémy tu s námi budou ještě dlouho.