Procesor je, ať se nám to líbí nebo ne, otrok řízený programátorem prostřednictvím programu. Na programátorově umu záleží, nakolik je schopen vytěžit možnosti procesoru.
Mnoho psů – zajícova smrt
Dnešní procesor to nemá jednoduché. Musí neustále od nějaké práce odbíhat, aby chvilku pracoval na něčem úplně jiném...
Jak si vlastně představit procesor v běžném počítači? Představme si sebe jako procesor a program jako domácí úkol. Máme k dispozici pracovní stůl. Dostaneme tedy zadání úkolu, jdeme do knihovny a na stůl si nanosíme vše, co potřebujeme k vypracování domácí úlohy. Až poté začínáme pracovat. Po dokončení práce vše vrátíme zpět na své místo. Tak to vypadalo ve chvíli, kdy si procesor mohl dovolit ten luxus pracovat pouze na jednom programu.
Dnes je situace totálně odlišná. Procesor přebíhá od jednoho k druhému, k „pořádné práci“ se pro samé přebíhání ani moc nedostane. Je to stejné, jako když máme najednou pracovat třeba na třech úkolech.
Nanosíme si tedy na stůl podklady k prvnímu úkolu a začneme na něm pracovat. Po chvíli musíme ukončit rozdělanou práci a vše zase po sobě uklidit. Poté si na stůl přineseme podklady pro druhý úkol, po chvíli opět přerušíme práci a vyčistíme si stůl. A do třetice všeho dobrého si opět na stůl všechno nanosíme, abychom to po chvilce vrátili na své místo. Pak se vrátíme zpět k prvnímu úkolu, druhému… a tak stále dokola naznačeným systémem.
Tohle je způsob práce, který postrádá logiku. Když už se pořádně zabereme do práce, přeskakujeme k další a další. Zdravý selský rozum velí nedrobit svou pozornost (nesedět na více židlích) a pěkně rozdělanou práci dokončit.
Tohle bohužel není v dnešní praxi možné. Dovedete si například představit přehrávání filmu touto filozofií? Nejdříve se dvě hodiny díváme na obraz, potom dvě hodiny posloucháme zvuk… Je to jeden z příkladů dokazujících, že zpracování více úkolů najednou je úděl dnešních a především budoucích procesorů i pro nejběžnější aplikace.
Důkazem správnosti přechodu od jediného supervýkonného Napoleona k mnoha pracovitým mravenečkům jsou superpočítače. Původně šlo o jednoprocesorové stroje, kde procesor byl extrémně výkonný (vzpomeňme na stroje Cray). Právě zde se poprvé narazilo na určité problémy, a tak se místo jediného procesoru začaly používat dva či více procesorů, byť s nižším výpočetním výkonem. A ejhle – ono to fungovalo a navíc to bylo efektivnější. Dnes tedy existují superpočítače dokonce s desítkami tisíc procesorů.
Situaci lze přirovnat k rozvozu pizzy po městě. Budeme mít jednoho pracovníka pro rozvoz. Aby rozvážel rychleji, pořídíme mu rychlejší kolo, potom motocykl, pak auto. Nakonec skončí s nejrychlejším autem na světě. Rychlost rozvozu ale zdaleka nestoupla tak, jak bychom čekali přechodem z kola na nejrychlejší auto. Proč? Napovím otázkou – kdo je rychlejší při čekání na červené – kolo, nebo nejrychlejší auto? A právě zde se ztrácí mnoho z rychlosti.
Podobné to je při zrychlování procesorů. Samozřejmě, že zrychlování je nutné. Pokud je procesor opravdu výrazně rychlejší než okolí (které ho tím trapně zdržuje), pak je ve stejné situaci jako rozvážeč pizzy s nejrychlejším autem. Co když budeme mít dva rozvážeče, byť každého na pomalé motorce? Nebo tři na kole?
Co od počítače chceme?
Běžný uživatel něco jiného říká a jinak se chová. Říká, že v jednu chvíli pracuje jen na jediném produktu, a tak není důvod cokoli měnit. Zároveň klade na počítač mnoho povinností, které se také musejí provádět:
-
antivirová kontrola
-
antispamová kontrola
-
firewall
-
messenger (typu ICQ)
-
internetová telefonie (typu Skype)
-
program pro výměnu souborů (typu Napster)
-
přehrávání zvuku / videa (typu Windows Media Player)
K prostému výčtu paralelních akcí je nutno přidat také procento využití procesoru. Většina aplikací si vezme svých pár promile až pár procent, a tak i jediné jádro zůstává poměrně nevyužito.
To ale platí do chvíle, než se v počítači „něco děje“. Potom může přepínání poměrně výrazně zpomalit program, který využije veškerý dostupný výkon. Často nejde ani tak o stoprocentní využití procesoru (či všech jader). Uživatel ale velmi citlivě vnímá rychlost odezvy. To je právě to, co se dvěma a více jádry může často zrychlit.
Dvoujádrový procesor pro hry?
Doposud se tato kombinace zrovna neprosadila. Dokonce se občas razila myšlenka, že dvoujádrový procesor a počítačová hra k sobě nepatří. Spíše opak je pravdou, v hrách se přece děje mnoho věcí zároveň, a tak v této fázi není problém. Ten přichází ve chvíli, kdy se hra má naprogramovat.
Naštěstí se i zde stav mění. Příkladem jsou následující hry, které již vícejádrové procesory podporují:
- Age of Empires III
- Battlefield 2 a Battlefield 2: Special Forces
- Black & White 2
- Call of Duty 2
- City of Villains by NCSoft
- Peter Jackson’s King Kong
- Quake 4, Quake 5
- Serious Sam 2 by Croteam
- The Elder Scrolls IV: Oblivion
- The Movies
- Tom Clancy’s Ghost Recon Advanced Warfighter
- Tom Clancy’s Rainbow Six 3
- Tony Hawk’s American Wasteland
- Vangauard Saga of Heros
- World of Warcraft
Stále přibývají nové a nové. Přestože herní svět nesměřoval ke dvěma jádrům, nyní se i konzervativní hry začínají hýbat. Že je to právě pro ně dost vhodné, lze vypozorovat u herních konzolí (viz doposud nespatřená legenda Cell pro PlayStation 3).
Dvoujádrový procesor pro účto?
Stává se, že uživatel DOSového účetnictví přijde o svůj stařičký počítač. Léta používal stejný stroj (například Pentium 100 MHz, 32 MB RAM a 1GB disk, operační systém MS Windows 95) a po jedné bouřce měl po počítači. Musí mít nyní dvoujádrový procesor?
Pokud hodlá pokračovat ve stejném účetním programu a na počítači opravdu (!) nebude dělat nic jiného, tak potom nepotřebuje výrazně silnější stroj. Zde se vyplatí investovat do staršího repasovaného stroje, který plně postačí danému účelu.
Uživatel se ale může rozhodnout, že si pořídí nový počítač (například i kvůli dětem). Mít na stejném počítači a disku účetnictví a zároveň přístup jiných lidí, to je poměrně odvážný čin. Je tedy lepší mít starý repas pro účetnictví a nový počítač pro dnešní aplikace a hry pro děti.
Nyní se zaměřme na kombinaci starších programů a dvoujádrových procesorů. Začneme hned operačním systémem – DOS či MS Windows 9x včetně Windows ME podporují jen jediný procesor či jediné jádro. Zde je vícejádrový procesor zbytečný. Obdobná situace je u starých aplikací. Další otázka nastává ve chvíli, kdy se uvedených operačních systémů zbavíme a přejdeme jinam. Pak se najednou druhé jádro může velmi hodit.
Může nastat situace, kdy můžeme mít dvoujádrový procesor nebo jednojádrový, ale dražší. Potom se vyplatí už kvůli ceně koupit dvoujádrový s tím, že se zatím využije jen polovina. Stejně pro starší aplikace se nevyužije ani to. Nestojí to ale tolik a máme otevřená vrátka pro případný přechod na moderní operační systémy a programy.
Co na to veřejnost?
Při každé inovaci se najde mnoho „zaručených“ zpráv o tom, jak se novinka neujme, protože:
- na to nejsou operační systémy
- na to nejsou aplikace
- nevyužije se to (vůbec)
- běžný uživatel to nepotřebuje
- je to zkrátka nesmysl
Vzpomeňme si na přechod z 286 na 386 (tj. z 16 na 32 bitů) při uvádění MMX technologie, SSE, HyperThreading a dalších inovací. Pokaždé se najdou kvalitní odladěné aplikace, které ještě nepřešly na nové technologie. Ty se postaví vedle programů, které se o přechod pokoušejí, ale ještě to není ono.
Odborníkem je pro mnohé ten, kdo odmítá novinky. Hlavně ty, které přinášejí velcí hráči (či ten, kdo je už z principu proti). Zlomem bývá okamžik, kdy se technologie rozšíří do konkurenčních produktů. Kategorické odmítání dvoujádrových procesorů pro běžné počítače naštěstí pomalu končí.
Co na to výrobci?
Společnosti AMD, Intel a mnoho dalších nelení a tvrdě směřují do oblasti dvou a vícejádrových procesorů. Již letos se má hlavní proud definitivně změnit z jedno na dvoujádrový. Jen nejlevnější procesory a počítače si mají zatím (!) vystačit s jediným jádrem.
Dvě jádra tedy nejsou jen otázkou velkých peněz a super profesionálních cílů, ale již také běžných uživatelů. Jednojádrové procesory budou existovat s největší pravděpodobností i nadále. Budou ale odsunuty do role nejslabších procesorů (viz řady AMD Sempron a Intel Celeron D / Core Solo).
Producenti operačních systémů jsou na tento stav připraveni celé roky. Všechny dnešní řady a verze si poradí s dvěma i více jádry. Zde problém opravdu není; horší je to s programy. Profesionální scéna podporuje více jader již dlouho, protože se tam vyskytují počítače i s více procesory.
Horší je to tam, kde není moc zákazníků či peněz, případně tam, kde se programy opírají o vysloveně jednoprocesorové a jednojádrové sestavy. Prozatím sem patří i počítačové hry. Jakmile se z dvoujádrových procesorů stane „masovka“ (což se děje právě nyní), velmi rychle se může změnit i tato situace.
Nejlevnější dvoujádrový procesor lze pořídit již kolem 3750 korun (Intel Pentium D 805), plnokrevná řada začíná kolem 5,5 tisíce korun (modely 820, 830 a 930). AMD je na tom zatím podstatně hůř; nejlevnější dvoujádro se pohybuje kolem devíti tisíc (AMD Athlon 64 X2 3800+). Všechny ceny jsou i s chladičem (tzv. BOX verze) a včetně DPH.
Jak je vidět, dvoujádrový procesor už přestává být doménou nejdražších pracovních stanic a již nyní si lze dvě jádra pořídit nečekaně levně. A kolik jader mají vaše procesory?