64-bitu-revoluce-nebo-jen-marketing
Hardware Článek 64 bitů - revoluce nebo jen marketing?

64 bitů - revoluce nebo jen marketing? | Kapitola 5

Petr Koc

Petr Koc

4. 9. 2006 01:00 123

Seznam kapitol

1. 16, 32 a 64bitové procesory 2. AMD64 - rozšíření x86 3. Windows XP Professional x64 Edition 4. Kompatibilita mezi programy a ovladači 5. 64bit aplikace: kde se berou a co výkon? 6. FAQ - často kladené otázky: 64-bit vs 32bit

64 bitové čipy jsou, společně s dvoujádrovými procesory typu 2-in-1, bezesporu největší inovací v oblasti procesorů určených pro osobní počítače, která proběhla za posledních deset let. Vzhledem k tom, že 64 bitů vyvolává "optický dojem", že se jedná o dvojnásobek 32 bitů, slibují si někteří uživatelé od těchto procesorů až 2x vyšší výkon, než který podávají dnešní procesory v 32 bitovém režimu. Proč se 64 bitové procesory prosazují tak pomalu? Hraje se s námi nekalá hra?

Reklama

64bit aplikace

Aby bylo možné plně využít potenciál nových operačních systémů, je zapotřebí mít pro ně i odpovídající software. V současnosti bohužel ještě neexistuje příliš mnoho 64bit programů. Zásluhu na tom má určitě i Microsoft se svojí politikou, kdy Windows XP Professional x64 Edition nenabízí zdarma každému držiteli licence na Windows XP Professional, nýbrž je prodává za běžnou cenu (těsně po uvedení bylo možné vyměnit licenci na 32bit verzi za 64bit).

64 bitů - revoluce nebo jen marketing?
i Zdroj: PCTuning.cz

Díky návrhu AMD64 může být procesor i pod 64bit operačním systémem přepnut do režimu 32bit, a spouštět tak klasické 32bit programy. Zpětná kompatibilita je tedy zachována. Za celou dobu používání jsem nenašel jedinou standardní 32bit aplikaci, která by nechodila.

Horší je to s kompatibilitou s DOSovými programy a 16bit programy pro Windows 3.1 (což je například mnou oblíbená vesmírná hra Stars!). Microsoft totiž odstranil Virtual DOS Machine (NTVDM) část, která pod 32bit Windows umožňovala spouštění těchto archaických souborů. Pod Windows XP x64 je už nespustíte. Naštěstí existuje řešení v podobě emulátoru DOSbox. Jen je potřeba si připravit opravdu rychlý počítač...

64 bitů - revoluce nebo jen marketing?
i Zdroj: PCTuning.cz


Ve Správci úloh jsou spuštěné 32bit programy označeny pomocí *32.
Na screenshotu výše je tak vidět 32bit Internet Explorer hned vedle 64bit verze.

Pod Windows XP x64 bohužel není možné na první pohled poznat nativní 64bit programy. Spolehlivou metodou je pouze Správce úloh a případně také vlastnosti programu, kde se nezobrazí známá záložka Compatibility.

64 bitů - revoluce nebo jen marketing?
i Zdroj: PCTuning.cz

Jednodušší je to paradoxně ve 32bit verzi Windows XP. V nich totiž 64bit programy nezobrazují ikonu. Ta se objeví až pod x64 variantou.

64 bitů - revoluce nebo jen marketing?
i Zdroj: PCTuning.cz


Zobrazení dvou verzí Prime95 pod Windows XP x64

Převod aplikací na 64bit - snadné i složité

Získání nativních 64bit aplikací je velice jednoduché - programátorovi stačí pouze změnit kompilátor a výsledkem bude nový strojový kód.

64 bitů - revoluce nebo jen marketing?
i Zdroj: PCTuning.cz

Převod aplikací z 32bit na 64bit je tak nesrovnatelně jednodušší než převod z jednovláknových na vícevláknové (pro využití dvoujádrovými procesory) - rozdíl v náročnosti je asi jako mezi instalováním operačního systému a programováním. Zde je nutné zdůraznit, že něco jako optimalizace na 64 bitů neexistuje, to je pouze vysněný mýtus. Veškeré "optimalizace" (sestávající pouze z možnosti použít další registry, ale za cenu většího objemu dat) totiž provede sám kompilátor. Z hlediska výkonu 64bit aplikací tedy do budoucna lépe nebude.

Obdobný problém je i s vícevláknovými programy. Dvoujádrové procesory za rok a půl od uvedení získaly na značné popularitě, faktem ale zůstává, že jejich přínos je (až na výjimky, povětšinou z profesionální či multimediální sféry, kde už byl software připraven dávno před nimi) téměř nulový. Programátoři totiž stále nemají žádnou motivaci, proč by měli obětovat svůj čas a potenciálně ohrožovat stabilitu svých programů.

Problémy ale mohou nastat i zde, při převodu z 32bit na 64bit. Prvním takovým problémem je (ne)vlastnictví 64bit kompilátoru. Jeden z nejpoužívanějších programovacích nástrojů Visual C++ se 64bit verze dočkal až ke konci minulého roku s vydáním Visual Studia 2005. Starší a dodnes hojně používané verze 6, NET 2002 a NET 2003 nejsou schopny vytvářet nové typy souborů. Přechod na verzi 2005 pochopitelně není zdarma, a proto je možnost kompilace na x64 z velké části otázkou času, kdy softwarové firmy inovují svoje vybavení, protože už jim nebude dostačovat. To ale může být za dlouho. Netýká se to samozřejmě jen Microsoftu, ale také třeba Delphi od Borlandu. Ušetřeni jsou snad jen uživatelé open-source řešení (např. Linux).

Problémy s aktualizací ale mohou být i vážnějšího charakteru. V rámci inovací ve Visual C++ se totiž Microsoft s každou novou verzí rozhoduje sem tam nějakou tu vlastnost "přiškrtit". Programy, které šly bez problémů zkompilovat pod Visual C++ 6 měly místy ve Visual C++ 7 problémy. U nejnovější verze Visual C++ 8 tomu není jinak. Proto převod staršího kódu do nového prostředí může způsobovat dodatečné požadavky na čas programátorů. A to málokterá společnost připustí. Přítomnost 64bit verzí je tak také otázkou toho, zda je někdo bude ochoten zaplatit.

Dalším ze soudku těchto potíží je vypuštění podpory inline assembleru u x64 kompilátoru. Velká část z dnešních programů, které jsou velmi náročné na výkon (... a které by tedy mohly potenciálně z AMD64 profitovat), má kritické pasáže napsány přímo v inline assembleru (v podstatě strojovém kódu). Mezi takové aplikace patří například již zmíněný DOSbox, LAME atd. Problém je, že takové aplikace nelze pro x64 zkompilovat, tudíž je nutné je upravit. To jednak stojí čas a za druhé to může docela snadno snížit výkon, neboť v assembleru napsaný kód je obvykle rychlejší než ten, který vygeneruje kompilátor.

Převod stávajících aplikací do prostředí AMD64 tak může být otázkou jedné minuty, ale také mnoha hodin. Čím pokročilejší je 32bit verze, tím jsou problémy obvykle větší.

Výkon

Jak už patrně z našeho povídání vyplynulo, největšího nárůstu výkonu se dočkají aplikace požadující obrovské množství paměti - tedy především databáze, případně různé audiovizuální nástroje, strojírenské systémy atp. Běžný uživatel zřejmě přílišný efekt nezaznamená.

64 bitů - revoluce nebo jen marketing?
i Zdroj: PCTuning.cz

Tak například 64bit verze enkodéru LAME nezaznamenává prakticky žádný výkonnostní nárůst oproti verzi 32bitové. Naopak je často možné očekávat ztrátu.

64 bitů - revoluce nebo jen marketing?
i Zdroj: PCTuning.cz

Prakticky to samé je možné říct o algoritmech MD5 a CRC32, které se hojně používají k ověřování integrity dat.

64 bitů - revoluce nebo jen marketing?
i Zdroj: PCTuning.cz

Navýšení je asi 2 % výkonu a to ještě v tom lepším případě (u CRC32). Ten horší (MD5) zaznamenal dokonce zpomalení.

Dokonce ani v známém a jinak hodně optimalizovaném testu Cinebench 9.5 založeném na renderovacím nástroji Cinema 4D nelze vidět žádné přehnané zlepšení.

64 bitů - revoluce nebo jen marketing?
i Zdroj: PCTuning.cz


Cinebench 9.5 32bit

64 bitů - revoluce nebo jen marketing?
i Zdroj: PCTuning.cz


Cinebench 9.5 64bit

Rozdíl činí asi čtyři procenta ve prospěch 64bit verze.

Závěrem

Přechod na 64bit procesory v podobě instrukční sady AMD64 nepřináší přílišná zlepšení. O razantních nárůstech výkonu lze hovořit pouze u aplikací, které vyžadují velká množství paměti RAM, která jim klasický 32bit systém není schopen nabídnout (popřípadě pouze v pomalém režimu PAE 36bit, navíc s nekontinuálním adresováním). Pro ostatní použití mají 64bit aplikace jen malý význam, mimo jiné také proto, že reálná využitelnost 64bit čísel je značně omezená.

Operační systém Windows XP Professional x64 Edition určený pro nové procesory od AMD a Intelu poskytne uživateli o něco vyšší komfort než standardní 32bit verze. Tento vyšší komfort je dán především novějším jádrem z Windows Server 2003 a možností neomezeného využití instrukční sady SSE2. Aplikace pro něj speciálně vytvořené je možné získávat pouhým překompilováním, což je otázka několika minut. Někdy tento proces ale může narazit na obtíže způsobené změnami ve vývojových nástrojích provedených z verze na verzi. V takovém případě může být převod značně komplikovaný. Mnoho programátorů proto může usoudit, že vzhledem k prakticky nulovému navýšení výkonu se vůbec nevyplatí takovou akci provádět.

Předchozí
Další
Reklama
Reklama

Komentáře naleznete na konci poslední kapitoly.

Reklama
Reklama