BIOS - 3. díl: Advanced CMOS Setup - bootujeme napoprvé
21.7.2008, Petr Stránský, článek
V minulém díle jsem říkal něco o tom, že Standard CMOS Setup je pouhým základem, v němž žádné velké věci nikdy nevykouzlíte. Následující nabídka (Advanced BIOS Features) nám již ale poskytne mnohem větší možnosti a pole působnosti.
Kapitoly článku:
- BIOS - 3. díl: Advanced CMOS Setup - bootujeme napoprvé
- Bootujeme z čehokoliv
- Bootování potřetí, aneb jak to vlastně nastavit?
- HT aneb Když dva dělají totéž, není to totéž
V BIOSu lze také ovládat status virtualizační techniky Hyper-Threading (HT), která přišla na svět před již relativně dlouho dobou, jako součást procesoru Northwood (revize B) společnosti Intel. Aby se potřebný konfigurační řádek označený jako Hyper-Threading Technology v menu Advanced BIOS Features objevil, je také třeba, aby tuto techniku podporoval též čipset základní desky, což ale dnes nebývá vůbec žádným problémem.
procesor s HT se z pohledu softwaru tváří jako dva procesory fyzické
A k čemu vlastně tato technika slouží? Základem je uvědomit si, že u jednojádrových procesorů je v jeden konkrétní okamžik zpracováváno pouze jedno vlákno instrukcí (anglicky thread). V důsledku jsou tedy v tomto okamžiku využívány pouze ty části procesoru, které se zabývají řešením konkrétního problému, ostatní jednoduše zahálí a je zřejmé, že tato práce zrovna moc efektivní není. Procesory totiž musí neustále mezi zpracovávanými vlákny přepínat. S tím souvisí také nutnost ukládat si rozpracovaný stav registrů, což je nutné udělat ještě před samotným přepnutím (context switch). Jinak by mohlo dojít k jejich přepsání novými daty z nové úlohy.
Při využití technologie HT se jeden fyzický procesor začne chovat jako dva procesory logické, což je umožněno pomocí speciálního čipu v procesoru, který má Hyper-Threading na starosti. Ten pak začne zpracovávát další instrukční thread. Je to tedy podobné, jako kdyby procesor měl dvě jádra. Bohužel však pouze podobné - dosažené výsledky již tak růžové být nemusejí.
Podrobné vysvětlení práce technologie HT vám podá tento "praktický" příklad:
Potřebujete uvařit oběd, a proto si najmete jednoho kuchaře, který vaše jídlo je schopen připravit během dvou hodin práce. Vy však máte veliký hlad, a proto jste se rozhodli, že se praštíte přes kapsu, a najmete ještě jednoho (stejně kvalifikovaného a rychlého) kuchaře. Nepořídíte jim ale žádné další náčiní (vařečky, hrnce apod.).
Bude teď jídlo hotové za polovinu času? Máte pravdu, nebude. Kuchaři se sice budou moci střídat, aby byli vždy na každou operaci náležitě připravení a odpočatí, ale každý úkon bude moci dělat jenom jeden z nich, protože třeba na krájení budou mít k dispozici pouze jeden nůž. Nějaký čas potom zabere i samotné vystřídání kuchařů - například než předá jeden vařečku tomu druhému.
Hyper-Threading prakticky
Co by se ale stalo, kdybychom každému dali vlastní náčiní, které by mohli oba kuchaři nezávisle na sobě využívat? Odpovídající příprava jídla by byla uskutečněna opravdu za polovinu času, protože kuchaři se nebudou "flákat" a pojedou oba na stejné obrátky (vzpomeňte, najali jsme dva kuchaře stejné výkonnosti). Výrobce procesorů toto řešení také napadlo, a v důsledku toho přišli se skutečně dvoujádrovými procesory.
Zda váš procesor HT podporuje zjistíte pomocí mnoha dostupný diagnostických nástrojů. Za sebe mohu doporučit například výborný Everest, který je ve verzi Home Edition dostupný ještě jako freeware. Na webu výrobce jej již bohužel nenajdete.
Everest Home Edition v akci - umí můj procesor využít technologii HT?
Výkon s HT totiž není a ani nikdy nemůže být dvojnásobný, jako je tomu například při použití procesoru s dvěma jádry při kódování videa, kde k tomu téměř vždy dochází. Je to proto, že virtuální jádro využívá naprosto stejné systémové prostředky. Ty jsou tedy sdílené. Abyste techniku Hyper-Threadingu využili, bude nutné mít také zakoupenu odpovídající licenci pro operační systém, který s HT dovede spolupracovat (Windows XP a další). Z rodiny unixových systémů můžeme zmínit také systémy Red Hat nebo SuSE. Není bez zajímavosti, že tito dva výrobci (a někteří další) mají od Intelu dovoleno použití loga Pentium 4 HT Technology.
Pozn: Zkratkou HT se v terminologii AMD také označuje rychlá sběrnice HyperTransport, která spojuje procesor s ostatními obvody základní desky, což je ale ovšem něco úplně jiného.
Stejně jako v případě dvou jader fyzických zde také záleží na konkrétní provozované aplikaci, jak je napsána. Odpovídající program musí mít práci s více vlákny implementovánu v sobě, protože jinak by mohl výkon mohl být (a v extrémních případech také bude) ještě nižší. Vysvětlení tohoto podivného jevu je zřejmé. Se zapnutým Hyper-Threadingem bude totiž procesor spotřebovávat daleko více systémových prostředků a kapacit procesoru. Režie HT bude také představovat určité zpomalení, a nejen proto přišel v roce 2004 sám Intel s doporučením techniku v BIOSu vypínat, a to v případě, že uživatelé využívají systému, který není plně podporován nebo je zastaralý.
Jako extrémní příklad mohu zmínit ještě procesor Pentium Extreme Edition 840 (3,2 GHz), který kromě dvou jader fyzických disponoval také možností využití technologie Hyper-Threading. V důsledku toho dokázal u aplikací s patřičně upraveným zdrojovým kódem zpracovávat až 4 instrukční vlákna. U tohoto a následujících procesorů Intel také zavedl nové značení, které již přímo nevypovídá o taktu takto označeného procesoru. Jedná se o pouhé modelové číslo. Firma si tak konečně uvědomila něco, co vědělo AMD již mnohem dříve, a sice to, že nejen na frekvenci záleží.
Změna značení ale také představovala velmi dobrý marketingový tah, protože v době vydání Pentia Extreme Edition 840 byl na počítačovém trhu dostupný také procesor Pentium 4 Extreme Edition 3,73 GHz. Ten byl však pouze jednojádrový. Bez změny značení by pro nový procesor zůstalo označení Pentium 4 Extreme Edition 3,2 GHz. A jako obyčejný uživatel, co byste si koupili raději?
Tímto bych ukončil dnešní pojednání o systému BIOS. Příště si probere další možnosti, které nám, již dnes nakousnuté, menu Advanced CMOS Setup nabízí.