hyper-threading-detailne
Hardware Článek Hyper-Threading detailně

Hyper-Threading detailně | Kapitola 6

Eagle

Eagle

22. 11. 2002 00:00 33

Seznam kapitol

1. Instrukce a thready 2. Výpočetní jednotky procesoru 3. Zpracování 4. Hyper-Threading 5. Současná inkarnace 6. Budoucnost a závěr

Původně měl název tohoto článku znít "Hyper nebo Hype?" jako reakce na uvedení nového procesoru Pentium 4 na frekvenci 3.06 GHz. Přestože všichni oslavují Hyper-Threading jako převratnou a skvělou technologii, já bych v tak pozitivním hodnocení byl o něco opatrnější. Při bližším pohledu na celou věc a pochopení základních principů zpracování instrukcí uvnitř procesoru je totiž zcela zřejmé, že i zde jsou určitá problémová místa. Chcete-li vědět, co je Hyper-Threading, které programy z něj mohou profitovat, ale i na co byste si měli dát pozor, neměl by vám tento článek uniknout.

Reklama

Co do budoucna

Současné stádium vývoje Hyper-Threadingu není samozřejmě poslední. Pominu-li tu možnost, že by se procesory v budoucnu chovaly jako více než dva logické procesory (v případě Pentia 4 z důvodu absence výpočetních jednotek nepřijatelné, v případě například Itania 2 vynikající nápad), je možné uvažovat i jiné způsoby, jak vše zefektivnit.

Předně vede cesta lepším návrhem výpočetní části s ohledem na možný paralelismus. Není tajemstvím, že Pentium 4 je v tomto ohledu uspěchaný procesor, který Intel uvedl jen jako reakci na ve své době převratný Athlon. Pentium 4 bylo evidentně koncipováno pro dokonalejší výrobní technologii, než s kterou se dostalo na svět (0,18um). Protože podle původních návrhů by byl procesor výrobně příliš drahý, bylo ho nutné na poslední chvíli pozměnit. A to se pochopitelně na celém designu podepsalo. Některé jednotky tady jakoby přebývají (2x ALU pro jednoduché operace) a některé naopak chybí (paralelismus v FPU).

Jedním z problémů je taktéž malá datová cache první úrovně a patrně i pomalá Trace cache. Ta je v současnosti schopná poslat do Schedulerů maximálně tři OPs za cyklus, což není pro technologii Hyper-Threading předpokládající využití výpočetních jednotek na dvojnásobné frekvenci procesoru právě mnoho. Zkombinuje-li se to s datovou cache o velikosti pouze 8 kByte, která je v případě FPU schopná dodat data až za 9 hodinových cyklů, dostaneme nepříliš přesvědčivý výsledek. Tato cache musí být nutně větší a to dost podstatně. Zvětšovat cache druhé úrovně je jen obcházení problému.

Hyper-Threading detailně
i Zdroj: PCTuning.cz

A co se týče samotného Hyper-Threadingu, je i zde co zlepšovat. Předně nevidím budoucnost v přizpůsobování software. Již několikrát se ukázalo, že tudy cesta nevede. Žádný programátor se nebude bez vážných důvodů zabývat předělávání programu přímo v Assembleru, když je spokojen se svým výrazně jednodušším vývojovým prostředím Delphi. Příklad za všechny - jaká dnes mohla být penetrace SIMD instrukcí mezi běžnými programy, jenom kdyby se někomu podařilo vytvořit kompilátor, který by tuto technologii alespoň částečně využil? Jak dlouho je tady MMX a kolik programů ho využívá? A to samé se dá říct o Hyper-Threading. Teď se Microsoft problémem zabýval a díky Windows XP s SP1 většinu problémů vyřešil. Znamená to ovšem, že s příchodem každé další varianty Hyper-Threadingu bude nutné změnit operační systém, popřípadě i software?

Cesta jednoznačně vede přes hardwarové zpracování správy threadů. Procesor sám by měl včas poznat, který thread chce kterou jednotku a podle toho se zařídit. Organizace až na úrovni dekodérů a Schedulerů asi není právě optimální. Například nový procesor Hammer od AMD bude provádět předdekódování již na úrovni cache druhé úrovně. Podobným směrem by se mohl vydat i Hyper-Threading. Operační systém by mohl pomoci v tom ohledu, že by každému threadu přidělil určitou prioritu a procesor by se pak snažit přednostně provést thready s vyšší prioritou. Tak by bylo možné eliminovat pokles výkonu, který byl nyní v některých případech i poměrně značný.

Shrnutí

Hyper-Threading a princip paralelizování threadu (či threadů) obecně v rámci procesoru jsou bez pochyby velice zajímavé technologie. Je vcelku bez diskuze, že v multitaskingových operačních systémech bude přínos nezanedbatelný. Dva současně spuštěné programy budou patrně využívat každá jiných jednotek, možné kombinování OPs na úrovni Instruction Control Unit tak bude nabírat nové směry. Nárůst výkonu v rámci jednoho programu asi nikdy nebude úchvatný (obecně jsou na sobě jednotlivé výpočty velmi závislé, což zabraňuje paralelismu), ale v případě celku může být efekt značný. Bohužel ale v současné podobě, kdy Pentium 4 je svým designem vhodné tak napůl, se o nějakém převratu mluvit rozhodně nedá. Vše mi tak trochu připadá, jako kdyby marketingové oddělení Intelu využilo zatím ne zcela dokonalou technologii k propagaci tvrzení, že Hyper-Threading umožní rapidně zvýšit výkon. To rozhodně není celá pravda, nárůst v rámci jedné aplikace bude ve většině případů nulový. Při tomto uvažování bychom mohli stejným způsobem propagovat například prefetch mechanismus.

O čem se samozřejmě mluví ještě méně, jsou negativní stránky. Již teď bylo Pentium 4 procesor pro domácnost s největší spotřebou vůbec. S příchodem Hyper-Threading a vyššího využití jednotek zcela jasně musí růst i spotřeba. Ta je v případě nového čipu stanovena na typických 82W a maximálních na neuvěřitelných 93W. Proto se také měnil typ BOX chladiče, který má teď úplně jiný tvar a měděnou základnu.

Hyper-Threading detailně
i Zdroj: PCTuning.cz

Intel musel zvýšit napětí až na 1,55V, což je z Northwoodů nejvíc. Proudový odběr tak stoupnul až na 65.4A. Obávám se, že Intel tentokrát zvyšování frekvence poněkud přehnal. Frekvenční potenciál Northwoodu je u konce, i nové motherboardy umí dodat maximálně 70A, což by vyhovělo tak maximálně Pentiu 4 na 3,33 GHz.

Celé to tak nakonec vypadá, že Pentium 4 na frekvenci 3.06 GHz bylo tak trochu uspěcháno. Intel se asi bojí procesorů Hammer od AMD a chce za každou cenu zvýšit výkon svých procesorů. Hyper-Threading teď ještě není vyzrálá technologie a já osobně bych si počkal, co nabídne následovník Northwoodu, procesor Prescott. V něm by mělo dojít k nějakým výraznějším změnám v návrhu a měl by i implementovat novou verzi Hyper-Threadingu. Do té doby bych tuto technologii nebral jako nějaký významný převrat. Budoucnost jí patrně čeká především v procesorech Itanium.

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