Hauptseite | Deutsche Enzyklopädie

Hyper-Threading

Als Hyper-Threading Technologie (HTT) (abgeleitet von Multithreading) bezeichnet Intel seine Implementierung von Simultaneous Multithreading (SMT) in den Prozessoren Pentium 4 und Xeon. Wie bei SMT werden mittels Duplizierung und Aufteilung bestimmter Ressourcen virtuelle CPUs (Siblings) generiert, die mehrere (Teil-)Programme (Threads) weitgehend parallel ausführen können.

Nicht zu verwechseln ist Hyper-Threading mit den SMT-Technologien anderer Hersteller, mit HyperTransport (HT), der Mehrkern-Architektur bzw. dem SMP und der Pipeline-Architektur.

Die von Intel vergebene Bezeichnung lautet Hyper-Threading Technology mit der Abkürzung HT-Tech oder HTT. Das fälschlicherweise oft ohne -Tech oder -T benutzte HT ist die Abkürzung für HyperTransport, einem von AMD mitentwickelten seriellen Bussystem. HT wird von Intel nur in Logos benutzt aber in offiziellen Dokumenten wird immer Hyper-Threading Technology benutzt.

Inhaltsverzeichnis
1 Funktionsweise
2 Ressourcen
3 Unterstützung
4 Hyper-Threading im Detail
5 Weitere Informationen

Funktionsweise

Intels Hyper-Threading Technologie verbessert die Performance von multi-threaded Applikationen indem sie die Auslastung der On-Chip Ressourcen, welche in der Intel NetBurst Mikroarchitektur verfügbar sind, erhöht. Ein typischer Thread belastet nur etwa 35% der NetBurst Ausführungsressourcen, HTT erhöht die Auslastung durch notwendige Logik und Ressourcen, die der CPU hinzugefügt werden. Die Aufteilung der einkommenden Daten auf den freien Raum erzeugt somit einen logischen zweiten Prozessor auf einem physischen Prozessor.

Ressourcen

Beim Hyper-Threading werden die CPU-Ressourcen in drei Kategorien eingeteilt: Die Siblings (Geschwister) besitzen einige der Ressourcen in eigener Kopie (Replicated Resources), einige der Ressourcen werden unterteilt (Partitioned Resources) und einige der Ressourcen müssen sie sich mit dem anderen Sibling teilen (Shared Resources).

Unterstützung

Zu finden ist Hyper-Threading derzeit bei Intel-Prozessoren (neuere Modelle der Pentium 4-Reihe, Xeon 603/604), auch die neuen AMD Athlon64/Opteron Dual-Core-Prozessoren geben sich als Hyper-Threading-fähig aus um von diversen darauf optimierten Programmabläufen zu profitieren.

Betriebssysteme mit Unterstützung für Hyper-Threading sind unter anderem Linux ab Kernel 2.4.17, neuere Versionen von FreeBSD und anderen BSDs sowie Windows XP. Windows 2000 ist zwar kompatibel mit Hyper-Threading, profitiert aber nicht davon weil es nicht zwischen physikalischen und logischen Prozessoren unterscheidet. Die Leistung kann sogar sinken.

Compiler, die Code mit Hyper-Threading-Unterstützung erzeugen können, sind die Intel-Compiler und gcc. Hyper-Threading bringt jedoch nur für Anwendungen einen Geschwindigkeitsvorteil, deren Berechnungen parallelisierbar sind, d.h. die Berechnung eines Threads ist nicht abhängig vom Ergebnis eines anderen.

Hyper-Threading im Detail

Die folgenden Informationen beziehen sich auf Hyper-Threading. Andere Prozessoren mit Simultaneous Multithreading können, müssen aber nicht eine vergleichbare Aufteilung verwenden.

Replicated Resources

Zu den replizierten Ressourcen, also den pro Sibling unabhängig von den anderen Siblings vorhandenen Ressourcen, gehört in jedem Fall der vollständige Registersatz inkl. Stackpointer und Programcounter, Instructionpointer.

Partitioned Resources

Zu den partitioned Resources, also den Ressourcen, die durch Unterteilung zwischen den Siblings aufgeteilt werden, zählen diverse Zwischenspeicher in der CPU.

Shared Resources

Alle übrigen Ressourcen sind Shared Resources, also Ressourcen, die sich die Siblings wirklich teilen müssen, meist dadurch, dass sie nur von einem der Siblings gleichzeitig verwendet werden können. Hierzu zählen derzeit insbesondere die ALU und FPU.

Der Geschwindigkeitsvorteil von Hyper-Threading gegenüber dem klassischen Singlethreading ist nur nutzbar, wenn man ein SMP-fähiges Betriebssystem und auf Hyper-Threading optimierte Software einsetzt. Gegenüber klassischem SMP ist Hyper-Threading im Nachteil, jedoch ganz erheblich kostengünstiger zu realisieren.

Laut Aussage von Intel kann Hyper-Threading im Multitasking-Betrieb normale Programme um 10-20%, optimierte Programme um bis zu 33% beschleunigen.

Weitere Informationen

Siehe auch

Simultaneous Multithreading, Nebenläufigkeit, Parallelisierung, Pipeline-Architektur, Mehrkern-Prozessor

Weblinks



Limit search to: Body and Title Deutsche Seiten Path



No Results Found


Help build the largest human-edited directory on the web.
Submit a Site - Open Directory Project - Become an Editor
Free thumbnail preview by Thumbshots.org

Search for products at amazon.com:
Search:
Keywords:
amazon.com books on 'Hyper-Threading':
Search at Google.com:
Google
WebCalSky.com Enzyklopädie

Suchresultate aus unserem günstigen CalSky-Shop