Postavte si dvouprocesorovou 64bit pracovní stanici
Seznam kapitol
Když jsem se nedávno rozhodoval jaký bude můj příští počítač, bylo mi jasné, že budu chtít aby podporoval všechny aktuální technologie, procesor musí tedy podporovat 64bitové instrukce. Chtěl jsem si také splnit další přání - mít k dispozici výkon dvou procesorů. Dříve tento požadavek byl pouze v rovině snů - podobně jako nákup Porsche 911. Dnes jsem se s mými požadavky "vešel" do ceny lépe vybaveného počítače střední třídy. S tím jsem tedy spokojený - jen to Porsche je stále v nedohlednu...
Možná není zcela jasné, k čemu jsou dobré 64bitové procesory a jak je možné využít dvoujádrové procesory. Co přináší každá technologie a jak se dá vůbec využít v praxi?
Pokud vám to není jasné - dovolte mi malé přirovnání k nákladním automobilům na stavbě. Ostatní mohou přejít na další, již značně odbornější, kapitolu.
32 bitové versus 64 bitové procesory
Až do roku 2003 byly pro smrtelníky 64bitové procesory zcela (především cenově) nedostupné - patřily výhradně do firemní sféry kde se používaly v serverech a pracovních stanicích (workstations). Běžné procesory Intel Pentium 4 i AMD Athlony XP patřily mezi typické 32 bitové procesory třídy "x86" a nevypadalo na to, že by se něco mohlo změnit. Máme tedy náklaďák s 32bitovou ložnou plochou:
V okamžiku, kdy firma AMD zahájila malou 64bitovou revoluci a přišla na trh s Athlony 64 objevily se první cenově přístupné komerční 64bitové procesory - ty byly, a to je zvláště důležité, navíc přímo kompatibilní s původní 32bitovými instrukcemi x86 (rozšířená instrukční sada byla nazvaná x86-64). Firma Intel se záhy přidala a procesory Pentium 4 řady D a 600 už také "umí" 64bitovou instrukční sadu:
Nové 64 bitové procesory neznamenají automatický nárůst výkonu - musí být k dispozici odpovídající podpora - pro plný výkon vyžadují 64 operační systém (tím budou nové Windows Vista) a také odpovídající 64 bitové aplikace.
Klasika dneška - 32bitové aplikace
Dnes je valná většina programů i nejčastěji používaný operační systém Windows XP 32 bitový. Klasická sada instrukcí využívá interní univerzální 32bitové registry. I velmi složité programy, mezi které patří hry jsou dnes stále naprogramované jako 32 bitové. Pokud použijeme 32bitový procesor vypadá situace takto:
U 64 bitových procesorů (Pentii 4 "D" nebo 600 a také AMD Athlonů 64, Athlonů 64 X2 a Opteronů) není potenciál 64bitového hardwaru dnes plně využitý:
64 bitový procesor + operační sytém i 64bit aplikace
Tuto situaci v masovém měřítku nejspíše přinese dlouho připravovaný nový, mj. také plně 64bitový operační systém Windows Vista (dříve známý jako Longhorn) doplněný odpovídajícími 64bit aplikacemi (64 bitové aplikace na 32bit Windows XP není možné provozovat).
64bit software i hardware - to je tedy ideální stav. I když by se mohlo zdát, že výkon v této situaci bude dvounásobný - v praxi se 64bit operandy použijí jen občas. Výkonový nárůst při nasazení 64 bitových řešení se bude pohybovat od 0% do +45%, s tím, že většina aplikací bude rychlejší asi o 15%. Přesto je nákup 64bitového procesoru dobrou investicí do budoucna - výkon "zadarmo" se totiž vždy hodí...
Dvoujádrové procesory
Zatímco 64 bitový svět je otázkou zítřka, dvoujádrové procesory lze využít už dnes. Teoreticky druhé procesorové jádro přináší dvounásobný výpočetní výkon - praxe je však mnohem složitější. Pokud je jeden procesor jako nákladní auto, pak dvě procesorová jádra jsou jako auta dvě. Vypadá to asi takto (ukážeme si to na 32bit aplikacích a procesoru Pentium D):
Máme tedy k dispozici dvě "pracovní" jednotky. Problém je však s jejich využitím. Pokud spustíme program, který počítá s klasickým procesorem může se stát, a to se také často děje, že využití procesorů bude neefektivní (druhé "auto" nebude mít program - řidiče):
Většina dnešních programů a především her, s druhým procesorem prostě nepočítá. Takový systém se pak víceméně chová jako systém vybavený pouze jedním procesorem. Zdá se, že programy využívající současně dva procesory budou vždy spíše výjimkou než pravidlem - vždy se totiž musí počítat s horší variantou, kdy je procesor jen jeden.
Světlou výjimkou jsou programy pro zpracování multimedii, obrazu a videa, případně animační a renderovací programy (a pochopitelně také šachové programy) - tam není problém rozdělit data tak, aby oba procesory pracovaly každý na své várce úkolů, aniž by si navzájem "lezly do zelí":
Více aplikaci spuštěných současně
Proč tedy chci víceprocesorový systém? Je zde ještě jedna situace, kdy se dva procesorové jádra náramně hodí. Ta nastává tehdy, kdy se nezpracovává jediný program. Pak není problém každému výpočetnímu procesu přidělit jiný procesor.
Zkoušel jsem spustit dva stejné programy souběžné - svůj úkol skončily téměř stejně rychle, jako by měl každý z nich k dispozici samostatný počítač.
V budoucnu to bude nejspíše ještě lepší (když se spojí 64bitové programy a 2x CPU).
Všimněte si, že každá věc přináší jiné výhody - 64bit instrukce zvyšují hrubý výkon, zatímco dvoujádrové procesory přinášejí možnost lepšího souběžného zpracování kódu.
Obecně platí, že dvouprocesorový systém reaguje při zatížení několika souběžně spuštěnými programy svižněji a s menšími prodlevami. Víceprocesorovému systému (SMP, Symmetrical Multi Processor) pak téměř nevadí souběžný chod náročné hry a přehrávání mp3, vypalování CD nebo komprese videa. A takovou vlastnost snadno využiji denně ve své práci (editace obrázků, tabulek i videa). I když je jasné, že v případě většiny her bude druhé jádro procesoru zahálet - no a co :-)
Pokud se chcete dozvědět o těchto systémech více, přečtěte si tyto kapitoly:
Ostatní mohou přejít na další kapitolu která je z větší části věnována dvoujádrovému procesoru Pentium D.