Hyper-threading

Hyper-threading, of voluit hyper-threading technologie (afgekort als HTT of HT) is een techniek die uitgedacht werd door Digital Equipment Corporation[1] en in praktijk gebracht door Intel. De eerste processors met hyper-threading verschenen rond 2001 op de markt. Bij hyper-threading technologie gedraagt een fysieke processorkern zich als twee logische processors die de cache en externe interfaces delen. In de meeste gevallen wordt het hierdoor mogelijk dat de processorkern twee threads tegelijk uitvoert.

Als er bepaalde CPU-onderdelen niet gebruikt worden door thread X, dan kunnen die gebruikt worden om thread Y uit te voeren. Zonder hyper-threading kan het voorkomen dat een thread moet wachten terwijl de meeste cpu-onderdelen niets doen.

Redenen waarom een thread moet wachten kunnen zijn: cache-miss (wachten op gegevens uit het hoofdgeheugen), foutieve voorspelling van het executiepad (branch misprediction) of van elkaar afhankelijke instructies (instructie 1 moet eerst uitgevoerd worden voordat instructie 2 uitgevoerd kan worden).

De door Intel voorspelde prestatiewinst is ongeveer 30%.

Hyperthreading vereist ook dat de software ondersteuning heeft voor een systeem met meerdere processoren: een processor met hyperthreading-technologie wordt door het besturingssysteem meestal als twee losse processoren gezien.

Als opvolger verscheen rond 2005 de Multikernprocessor die twee of meer (vier in 2007) volledige processors in één enkele behuizing bevat en die de hyper-threading verdrong. Dit was de start van de race om zo veel mogelijk processorkernen of cores in één enkele chip te krijgen. Er zat namelijk weinig rek meer in de klokfrequentie van processoren.

In 2008 blies Intel nieuw leven in de technologie. Voor draagbare applicaties met laag vermogen en budget-PC's kondigt Intel de Atom (Silverthorne en Diamondville codenamen) processorreeks aan in 45nm proces met hi-k metal gate technology. Deze processors die gebruikmaken van de hyperthreading, gaan tussen de 0,6 en 2,5 Watt gebruiken (in vergelijking met 35 tot 80 watt voor de huidige mainstream processoren).

Intel gebruikt hyperthreading in hun Nehalem- en Sandy Bridge-microarchitecturen. AMD gebruikt een vergelijkbaar iets genaamd "Simultaneous multithreading" sinds de Zen architectuur.

Controverse

De Hyper-threading technologie is niet altijd onverdeeld positief. Zo wordt gezegd dat een processor met deze technologie aanzienlijk meer energie verbruikt. Ook wordt de cache zwaarder gebruikt; doordat er twee processen tegelijk lopen, treden er meer cache-misses op, wat negatief werkt op de performance en het energieverbruik. Het netto performance resultaat is echter vrijwel altijd positief en vooral merkbaar als er verschillende processen of communicaties op hetzelfde ogenblik lopen.

Zo kan het ook nadelig zijn als je één enkele processor met hyperthreading voor 100% wilt gebruiken om één enkel probleem op te lossen. Je moet dan noodgedwongen van parallel programmeren gebruikmaken.[2]

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.