Hyper-threading

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání
Schéma technologie Hyper-Threading od společnosti Intel.

Hyper-threading (oficiálně Hyper-Threading Technology, též HT Technology, HTT, HT) je v informatice technologie používaná výrobcem procesorů Intel zjednodušené zajištění vícevláknového paralelního zpracování strojových instrukcí. Technologie vytváří z jednoho fyzického procesoru dva virtuální procesory tím, že jsou v něm aktivovány dvě řídící jednotky. Vůči softwaru systém prezentuje místo jednoho fyzického dva (logické) procesory. Hyper-threading umožňuje lépe využít hardware procesoru, snížit odezvu systému (latenci), zrychlit výpočty (systém s aktivovaným hyper-threadingem je podle typu výpočtů zhruba stejně rychlý nebo až o třetinu rychlejší).

Popis funkce[editovat | editovat zdroj]

Hyper Threading funguje na principu duplikace té části CPU, která obsahuje registry, což pro aplikace vyvolává dojem, že procesorů je vícero a zasílají pro zpracování procesorem víc instrukcí a příkazů naráz. HTT se jeví jako mimořádně efektivní způsob zvýšení výkonu hlavně při početních operacích. Hyper-Threading tedy umožňuje zvýšit výkon aplikačnímu softwaru, který umí pracovat s více vlákny současně (multithreading) nebo je schopný práce v režimu zpracování více úloh naráz (multitasking). Samozřejmě druhý virtuální procesor může využívat pouze ty prostředky skutečného procesoru, které nevyužívá první virtuální procesor. Zvýšení výkonu je tedy způsobené optimalizací využití všech částí jediného CPU. HTT byl vytvořen jako odpověď na technologie AMD, protože Intel Pentium 4 dokáže v jednom taktu zpracovat jen jednu instrukci, zatímco Athlon XP až tři.

Technologie je aplikovaná v procesoru, a také v čipové sadě (čipset), tedy v základní desce. První čipsety podporující HTT byly čipsety Intel 845GE, Intel 845PE, Intel 845GV a rozšířený čipset Intel 850E. Prvním procesorem Intelu, který podporoval novou technologii HTT byl Intel Xeon MP (serverový procesor), z procesorů pro stolní PC to byl Pentium 4 3,06GHz s jádrem Northwood (v roce 2002).

Historie[editovat | editovat zdroj]

Technologie Hyper-Threading našla své kořeny ve firmě DEC (Digital Equipment Corporation),[1] ale byla přivedena na trh společností Intel. Hyper-Threading byl poprvé představen roku 2002 v procesorech Xeon Foster MP. Ve stejném roce se Hyper-Threading objevil v procesoru jménem Pentium 4 s jádrem Northwood taktovaným na 3,06 GHz, a posléze byl ve všech typech Pentium 4 HT, Pentium 4 Extreme Edition a Pentium Extreme Edition. Předchozí generace procesorů Intel založené na mikroarchitektuře Core nemají podporu pro Hyper-Threading, protože mikroarchitektura Core byla vyvinuta po mikroarchitektuře P6 s použitím opakování (iterací) v procesorech Pentium. Od Pentium Pro až po Pentium III a Celeron (Covington, Mendocino, Coppermine a Tualatin) a modely Pentium II Xeon a Pentium III Xeon.

V listopadu roku 2008 začala společnost Intel prodávat procesory Intel Nehalem (Core i7), ve kterém se vrací k technologii Hyper-Threading. První generace procesorů Nehalem obsahuje čtyři jádra, každé s dvěma vlákny. Brzy se v nabídce také objevily dvou až šesti-jádrové modely s celkem čtyřmi až dvanácti vlákny.

Procesor Intel Atom je další procesor v pořadí od společnosti Intel s technologií Hyper-Threading. Procesor byl navržen jako úsporný do stolních a mobilních počítačů s nízkou spotřebou elektrické energie.

Procesor Itanium 9300 přišel s osmi vlákny na jeden procesor (dvě vlákna na jádro) prostřednictvím rozšířené technologie Hyper-Threading.

V procesoru Poulson, který je další generací procesorů Itanium, je plánováno, že bude mít další rozšířený a vylepšený Hyper-threading.

Procesory pro serverové aplikace Intel Xeon 5500 server využívají čipy s technologií pro obousměrný Hyper-Threading.

Výkon[editovat | editovat zdroj]

Výhody technologie Hyper-Threading jsou uvedeny jako: vylepšena podpora více vlákenného (Multi-Threadingového) kódu, který umožňuje simultánní (současný) běh více vláken, včetně rychlejší reakce a snížení času odezvy na požadavky. Internetové webové stránky Tomshardware.com uvádí: „V některých případech procesor Pentium 4 na taktu 3,0 GHz s HT dokonce může porazit procesor Pentium 4 běžící na taktu 3,6 GHz avšak bez zapnutého HT“.

Stinná stránka historie[editovat | editovat zdroj]

Když byl uveden od společnosti Intel Pentium 4 s taktem 3,06 GHz Hyper-Threading, tvůrci aplikací se nemohli rozhodnout, jestli Hyper-Threading používat ve svých specifických aplikacích nebo ne, protože někteří z nich stále testovali své programy na operačních systémech nepodporujících Hyper-Threading (např. Windows 2000) a většina počítačů tehdy měla pouze jednovláknové (jednojádrové) procesory (bez HT).

V roce 2006 byl Hyper-Threading kritizován kvůli své energetické náročnosti. Například společnost ARM, specialista na procesory s nízkou spotřebou tvrdila, že současné více vlákno (Simultánní multithreading) dokáže využít až o 46 % více energie než navrhované dvoujádrové procesory (dvoujádrové procesory se liší od dvou samostatných procesorů, mají totiž dvě fyzická jádra v jednom procesoru). Dále pak tvrdili, že současné více vlákno zvyšuje zbytečné zahlcování vyrovnávací paměti o 42 %, kdežto dvoujádrové procesory ho o 37 % snižují.[zdroj?] V roce 2010 společnost ARM vyhlásila, že v budoucnu budou její čipy zahrnovat podporu současného více vlákna (Multi-Threading).

Bezpečnost[editovat | editovat zdroj]

V květnu roku 2005 Colin Percival na Pentiu 4 ukázal, jak softwarové vlákno se zlými úmysly může využít časovaného útoku pro sledování výpočtu na jiném vláknu přes sdílenou datovou cache (L1 data cache), což umožňuje například krádež kryptografických (šifrovaných) klíčů.[2] Řešením je změna strategie řízení cache v procesoru nebo modifikace operačního systému, aby neumožnil na jednom procesoru běh více vláken s různými oprávněními.[2]

Reference[editovat | editovat zdroj]

  1. Intel hyperthreading shows Digital roots
  2. a b Cache Missing for Fun and Profit

Související články[editovat | editovat zdroj]

Externí odkazy[editovat | editovat zdroj]

Bezpečnost
Výkon

V tomto článku byl použit překlad textu z článku Hyper Threading na slovenské Wikipedii.