Dieser Artikel von Wikipedia ist u.U. veraltet. Die neue Version gibt es hier. Als Hyperthreading (abgeleitet von Multithreading ) bezeichnet Intel die Fähigkeit einer CPU auf mittels Duplizierung und Aufteilung bestimmter generierten virtuellen CPUs ( Siblings ) mehrere (Teil-) Programme parallel auszuführen. Konkurrierende Begriffe welche die Technologie umschreiben sind Symmetric Multithreading und Simultanous Welcher dieser Begriffe sich allgemein durchsetzt bleibt abzuwarten.
Nicht zu verwechseln ist Hyperthreading mit tatsächlichen Integration mehrerer CPUs auf einem Chip sie vor allem bei Mips und Sparc häufig anzutreffen ist. Dort spricht man echtem symmetrischem Multiprozessing ( SMP ). Im Gegensatz zu SMP besitzt der Chip der Hyperthreading-CPU keine vollständigen CPUs.
Beim Hyperthreading werden die CPU-Ressourcen in Kategorien eingeteilt:
Replicated Resources (nachgebildete Ressourcen)
Partitioned Resources (unterteilte Ressourcen)
Shared Resources (geteilte Ressourcen)
Die Siblings besitzen einige der Ressourcen eigener Kopie (Replicated Resources) einige der Resourcen unterteilt (Partitioned Resources) und einige der Resourcen sie sich mit dem anderen Sibling teilen Resources).
Betriebssysteme mit Unterstützung für Hyperthreading sind anderem Linux ab Kernel 2.4.18 neuere Versionen von FreeBSD und anderen BSDs sowie neuere Versionen (aktuelle Service Packs) Windows 2000 und Windows XP .
Compiler die Code mit Hyperthreading-Unterstützung erzeugen sind die Intel-Compiler und gcc .
Zu den replizierten Resourcen also den Sibling unabhängig von den anderen Siblings vorhandenen gehört in jedem Fall der vollständige Registersatz Stackpointer und Programcounter Instructionpointer.
Alle übrigen Resourcen sind Shared Resources Resourcen die sich die Siblings wirklich teilen meist dadurch dass sie nur von einem Siblings gleichzeitig verwendet werden können. Hierzu zählen insbesondere die ALU und FPU .
Der Geschwindigkeitsvorteil von Hyperthreading gegenüber dem Singlethreading ist nur nutzbar wenn man ein Betriebssystem und auf Hypertrheading optimierte Software einsetzt. klassischem SMP ist Hyperthreading im Nachteil jedoch erheblich kostengünstiger zu realisieren.
Laut Aussage von Intel kann Hyperthreading Multitasking-Betrieb normale Programme um 10-20% optimierte Programme bis zu 33% beschleunigen.