Hyper-Threading ist Intels Marketingbezeichnung für Simultaneous Multithreading (SMT): Ein physischer CPU-Kern verwaltet zwei (teils auch mehr) logische Prozessoren und führt parallel zwei Threads aus. Das Betriebssystem sieht dadurch doppelt so viele CPUs, wie physisch vorhanden sind — typisch erscheinen 16 logische Kerne bei 8 physischen Kernen.
Woher die Leistung kommt
Ein einzelner Thread nutzt die Ausführungseinheiten eines Kerns selten vollständig: Er wartet auf Speicherzugriffe, hat Abhängigkeiten oder versucht Vorhersagen, die gelegentlich scheitern. Genau in diese Lücken schiebt SMT den zweiten Thread. Während der eine auf Daten wartet, rechnet der andere — die Auslastung des Kerns steigt typischerweise um 15 bis 30 Prozent, ohne zusätzliche Hardware zu verdoppeln.
Was geteilt wird und was nicht
Die Ausführungseinheiten, die Caches und die Out-of-Order-Einrichtungen teilen sich beide Threads. Jeder logische Prozessor erhält dagegen eigene Architektur-Register in der Registerbank, einen eigenen Befehlszähler und einen eigenen Interrupt-Zustand — so kann das Betriebssystem beide Threads unabhängig planen. Der Wechsel zwischen den logischen Prozessoren ist hardware-seitig so schnell, dass der Scheduler keine teuren Kontextwechsel zahlen muss.
Abgrenzung zu Multi-Core und Threads
Multi-Core bedeutet separate physische Kerne, die über Cache-Kohärenz abgestimmt werden; SMT dagegen verdoppelt die Thread-Kapazität innerhalb eines Kerns. Auf Software-Ebene bleibt Thread der vom Betriebssystem verwaltete Ausführungsfaden, und ein laufendes Programm ist ein Prozess. Das Zusammenspiel der beiden Parallelitätsformen ist zentral für die Mikroarchitektur moderner superskalarer Kerne: Superskalarität nutzt Parallelität innerhalb eines Threads, SMT zusätzlich zwischen Threads.
Geschichte und Verbreitung
Forschung zu SMT reicht bis in die 1990er-Jahre zurück (Dean Tullsen et al.); Intels erster kommerzieller Einsatz folgte 2002 in Xeon- und Pentium-4-Modellen („Hyper-Threading Technology"). AMD zog mit Clustered Multi-Threading im Buldoser und später mit SMT in Ryzen-Prozessoren nach. Bei voll ausgelasteten Kernen bringt SMT kaum oder sogar leicht negative Effekte, weil sich beide Threads Bandbreite und Caches streitig machen — in stark nebenläufigen Servern lohnt es sich dagegen deutlich.
Sicherheitshinweis
SMT erzeugt Seitenkanäle: Da sich beide Threads dieselben Ausführungseinheiten teilen, sind Timing-Angriffe wie PortSmash möglich. In Hochsicherheitsumgebungen wird Hyper-Threading deshalb bisweilen im BIOS oder per Betriebssystem-Konfiguration deaktiviert.