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

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

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

Jiří Kwolek: *Tuto část jsem do článku doplnil, abych problematiku 64 bitových procesorů a aplikací stručně shrnul a případně doplnil některé detaily.

64bitové procesory jsou už známé 15 let, proč se prosazuji teprve dnes?

Odpověď: Prvním komerčním 64 bitovým procesorem byl v roce 1991 uvedený MIPS R4000 (který tehdy pracoval s neuvěřitelnou frekvencí 100MHz) - rok nato debutovala 64 bitová Alpha AXP od firmy DEC. Od té doby byly nastupující 64 bitové procesory využívané ve firemním a korporátním prostředí, které mohlo nejvíce těžit z výhod 64 bitové platformy - zejména ze schopnosti adresovat velké množství operační paměti. 64 bitové procesory firem MIPS, DEC, Sun, IBM a HP využívaly nativní firemní platformy (IRIX, VMS, Solaris, AS/400, HP-UX) a nebyly vzájemně kompatibilní.

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

Osobní počítače řady PC (Personal Computer) používaly zase vzájemně kompatibilní procesory, které využívaly instrukční sadu x86. Tato 16 a později 32 bitová instrukční sada byla v průběhu doby rozšířená o tzv. extenze (MMX, SSE, SSE 2 až 4), které procesorům mj. umožnily zpracovávat i 64 bitové operandy (64-bit floating point) a v neposlední řadě také instrukce typu SIMD (Single Instruction, Multiple Data). Tato vylepšení původní instrukční sady umožnila původním 32 bitovým procesorům další vývoj do té míry, že dokázaly 64 bitové procesory překonávat na svém vlastním hřišti (firma / kancelář / domácí použití), v oblastech kde se od nich očekával vysoký výkon - například při práci s multimedii (včetně komprese a dekomprese videa), práci s 3D grafikou, animacemi, u počítačových her (Intel při uvedení MMX tvrdil, že procesor zvládne i 3D akceleraci na úrovni grafické karty).

Obrovskou výhodou při tom bylo to, procesory x86 byly vždy zpětně kompatibilní - tj. bylo na nich možné spouštět programy psané pro předchozí řadu procesorů. Díky tomu současné moderní procesory sdružují vysoký výpočetní výkon (současné aplikace jsou dnešním procesorům šité téměř na míru) s výhodou zpětné kompatibility.

Přesto se doba 32 bitových operačních systémů a aplikací pomaličku blíží ke konci. Vývoj směřuje k 64 bitovým operačním systémům společně s tím, jak se chystají nové, na paměť hladové aplikace (velkokapacitní optické disky, HDTV...).

Čím se liší původní 64 bitové procesory a dnešní 64 bit. procesory určené pro osobní počítače PC?

Odpověď: Když firma AMD uvažovala o nové linii procesorů, která se měla nahradit končící Athlony XP (tehdy vznikala řada K8 - tedy dnešní Athlony 64), napadlo inženýry vytvořit zásadní "generálku" instrukční řady x86, která by tuto instrukční sadu posunula do 64 bitového světa. Vymysleli nejen novou instrukční sadu (x86-64), ale i způsob jak procesor "přepínat" mezi 32 bitovým a 64 bitovým režimem (64-bit mode / Compatibility mode). Tím se otevřely dveře k vytvoření operačních systémů schopných bezproblémového provozování původních 32 bitových aplikací x86 i v prostředí 64 bitového operačního systému.

Právě kompatibilita se světem x86 je tím, čím se liší dřívější 64 bitové procesory (včetně 64 bitového procesoru Intel Itanium, který musí kód x86 softwarově "pracně" emulovat), a dnešními 64 bitovými procesory kompatibilními s instrukční sadou x86 (AMD64 a EM64T).

Co je to instrukční sada x86-64 a co s ní má společného AMD64 a EM64T?

Odpověď: Nová 64-bitová instrukční sada firmy AMD rozvíjející tehdy nejpoužívanější instrukce x86 byla nejdříve nazvaná x86-64 (naznačující 64 bitové rozšíření instrukcí x86), ale v zápětí byla, z marketingových důvodů, přejmenována na AMD64.

Vzhledem k tomu, že firma Intel měla se společností AMD uzavřenou smlouvu o vzájemné výměně licencí a patentů (crosslicensing - jinak by se obě firmy navzájem blokovaly při vývoji nových procesorů), použila stejnou instrukční sadu, i když ji pojmenovala po svém: EM64T. I když v minulosti se diskutovalo o tom, nakolik jsou instrukční sady AMD64 a EM64T kompatibilní, dnes je jasné, že se v zásadě jedná o stejnou instrukční sadu, která se liší jen v několika málo podstatných detailech (tyto rozdíly jsou už dnes zachycené 64 bitovými kompilery). Současné (a i budoucí) programy určené pro instrukční sadu AMD64 budou bez změn pracovat i na procesorech s podporou EM64T od firmy Intel.

Které procesory jsou kompatibilní s instrukční sadou x86-64?

U základů instrukční sady x86-64 (alias AMD64) jsou pochopitelně procesory rodiny AMD K8:

  • Athlon 64
  • Athlon 64 FX
  • dvoujádrový Athlon 64 X2
  • notebookový Turion 64
  • serverový Opteron.

Původní procesory řady Sempron instrukce AMD64 neovládaly - až do steppingu E6 na platformě Socket 754, pozdější typy už 64 bitovou instrukční sadu podporují.

Mezi modely firmy Intel, které instrukce EM64T (verze x86-64 firmy Intel) podporují patří:

  • Xeon (od jádra Nocona)
  • Celeron D (modely 3x6/3x1)
  • Pentium 4 (modely 6xx/5x6/5x1)
  • dvoujádrové Pentium D (modely 8xx/9xx)
  • Pentium Extreme Edition
  • nové Core 2 Duo a Core 2 Solo (mikroarchitektura "Conroe")
  • nový Xeon (jádro Woodcrest, mikroarchitektura "Conroe")

U procesoru Intel pro segment notebooků se jedná pouze o nejnovější (a dosud docela drahé) procesory založené na platformě Core 2. Velmi populární Pentia M, Celerony M ani procesory Core Duo výše zmíněné 64 bitové instrukce nepodporují!

Ve stručnosti lze říci, že veškeré nové "desktopové" procesory 64 bitovou instrukční sadu podporují - a to včetně těch nejlevnějších Celeronů D a Sempronů.

Které operační systémy podporují instrukce x86-64 (AMD64)?

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

Odpověď: Dnes máte na výběr celou řadu operačních systémů podporujících instrukční sadu AMD64 (dále budu používat především tento název). Dále vyjmenuji jen ty nejdůležitější:

Free BSD - podporuje AMD64 od verze 5.1 (experimentálně), u pozdějších verzí patří AMD64 už mezi preferované procesorové platformy. 6.0-RELASE odstranila pak některé problémy se spouštěním 32-bitového kódu. Instrukční sadu AMD64 podporují také dnešní NetBSD (od 2.0) i OpenBSD (od 3.5).

Solaris - od verze 10 umožňuje tento operační systém firmy Sun zavedení 64 bitového jádra kompatibilního s 64 bitovými ale i 32 bitovými (novými i starými) aplikacemi.

Linux - už verze jádra 2.4 byla schopna běhu v režimu "Long mode" AMD64 - návrh byl dokonce zahájen před uvedením prvních procesorů Athlon 64! Linux také umožňuje kompatibilitu 64 bitového jádra s 32 bitovými aplikacemi (které musí být překompilované právě do tzv. Long mode; aplikace mohou však zůstat 32 bitové). Dnešní populární distribuce Linuxu nabízejí 64 bitová jádra pro AMD64 (pochopitelně i pro EM64T) - SUSE dokonce obsahuje na distribučním DVD 32 i 64-bit systém a uživatel může zvolit, ke které platformě se při instalaci přikloní.

Mac OS X - od verze 10.5 (Leopard) bude podporovat 64 bitové aplikace na strojích vybavených i procesory x86 - avšak podpora bude omezena pouze na počítače ze stáje Apple.

Windows XP Professional x64 Edition a Windows Server 2003 SP1 x64 Edition - první zcela funkční operační systémy Microsoftu plně podporující 64 bitový režim procesorů (AMD64 i EM64T). Umožňují i běh většiny stávajících 32 bitových aplikací bez překompilování. Oba operační systémy vyžadují nové 64 bitové ovladače a prakticky boří paměťové limity Windows (128 GB u Windows XP nebo 1 TB pro Windows Server 2003 x64 Edition). V případě Windows XP Professional x64 Edition se jedná o takový malý "trénink" na nadcházející Windows Vista.

Windows Vista - počítá se s tím, že právě Vista prolomí brány "lidového" 64 bitového computingu. Veškeré verze Windows Vista (mimo verzi Starter) budou k dispozici jako 32 i 64 bitové verze. 64 bitová verze bude umožňovat běh 32 bitových programů podobně, jak to dnes umožňuje Windows XP Professional x64 Edition. Očekává se, že hlavní výrobci aplikací (jako je například firma Adobe) uvedou své nové aplikace v obou verzích (32 i 64 bitové verzi).

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

Kdy konečně zmizí 32 bitové programy?

Odpověď: Velkým problémem bránicím v rychlém přechodu na 64 bitovou platformu je stále obrovský počet 32 bitových procesorů (a to nemluvím jen o velmi starých procesorech). Nejvíce "pozadu" jsou v tomto ohledu notebooky - ty jsou dodnes často osazovány ještě stále čistě 32 bitovými procesory Pentium M, Celeron M nebo Core Duo.

Předpokládá se, že podpora 32 bitových operačních systémů skončí teprve v roce 2012 - z toho vyplývá, že 32 bitové procesory a 32 bitové aplikace před sebou ještě mají dlouhý život. Jinak v tomto ohledu na tom budou profesionální aplikace - tam bude přechod relativně rychlý. Předpokládáme, že v roce 2009 bude většina profesionálních (serverových, databázových, grafických i videoeditorů) aplikací dostupná pouze v 64 bitové verzi (tj. ekvivalentní 32 bitové verze nebudou existovat).

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

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

Jaký je výkonový přínos 64 bitových programů?

Mnohem menší, než se původně očekávalo - přitom nejvíce záleží na typu programu. V některých případech může po překompilování na 64 bitový spustitelný soubor dokonce dojít ke zpomalení programu (zejména u raných 64 bit programů). Pokud bude program pečlivě optimalizován, nemělo by k poklesu výkonu docházet - naopak, ve většině případů můžeme očekávat narůst výkonu v rozsahu +3% až 40%, s tím, že většina aplikací se bude vykazovat zrychlení do 10%.

Jaké jsou paměťové nároky 64 bitových programů?

Délka 64 bitových programů je obecně stejná nebo nepatrně vyšší (o 5 až 10%), mohou však nastat případy, kdy bude nový kód (díky většímu počtu registrů) dokonce štíhlejší. 32 bit a 64 bit spustitelné soubory se od sebe (alespoň velikostí) nemusí vůbec lišit.

Očekávejte ale, že nové aplikace (to je ale obecný trend) si budou vždy žádat víc a více paměti - bez ohledu na efektivitu kódu.

Předchozí
Další
Reklama
Reklama

Komentáře

Nejsi přihlášený(á)

Pro psaní a hodnocení komentářů se prosím přihlas ke svému účtu nebo si jej vytvoř.

Rychlé přihlášení přes:

Google Seznam
Reklama
Reklama