- Simultaner Mehrfadenbetrieb
-
Der Begriff Simultaneous Multithreading (etwa simultaner Mehrfadenbetrieb), oder kurz SMT, bezeichnet die Fähigkeit eines Mikroprozessors, mittels getrennter Pipelines und/oder zusätzlicher Registersätze mehrere Threads gleichzeitig auszuführen. Hiermit stellt SMT eine Form des hardwareseitigen Multithreadings dar.
Die derzeit wohl bekannteste Form des SMT ist Intels Hyper-Threading Technologie (HTT) für Pentium 4, Xeon und Core i7, aber auch Prozessoren anderer Hersteller, z. B. Cell, POWER5 und POWER6 von IBM verfügen über SMT.
Inhaltsverzeichnis
Funktionsweise
Ziel von SMT ist es, die bereits aufgrund der Pipeline-Architektur redundant vorhandenen Ressourcen eines Prozessors noch besser auszulasten, als dies bei der Pipeline-Architektur ohnehin möglich ist. Die Pipeline-Architektur arbeitet nur Befehle innerhalb eines Threads ab. Dadurch kann sie nur solche Befehle parallelisieren, die innerhalb eines Threads unabhängig voneinander sind.
Anwendungsgebiete
Simultaneous Multithreading stellt eine kostengünstige, wenn auch wesentlich leistungsärmere Alternative zu Multicore-Prozessoren dar. Die Leistung eines SMT-Prozessors lässt sich allerdings nur dann effektiv nutzen, wenn mehrere parallel zu verarbeitende Aufgaben durchzuführen sind, die durch das Betriebssystem, den Programmierer oder den Compiler auch derart gestaltet wurden, dass sie weitgehend parallel ausführbar sind. Bei vielen modernen Anwendungen (Stand 2005) ist dies bereits der Fall.
Abgrenzung
Das Simultaneous Multithreading ist also zwischen Pipeline-Architektur und Mehrkern-Architektur anzusiedeln.
Abgrenzung zur Pipeline-Architektur/Superskalarität
Von der Pipeline-Architektur unterscheidet sich SMT dadurch, dass die Ausführung mehrerer Threads gleichzeitig möglich ist. Nicht nur Datenverarbeitungseinheiten des Prozessors wie ALU und FPU werden repliziert, sondern auch der Registersatz und die Befehlsdekodierung. Gegenüber dem System erscheint eine SMT-CPU meist wie mehrere unabhängige Prozessoren.
Die Pipeline-Architektur versucht, Befehle desselben Programms zu parallelisieren, und führt sie, falls dies aufgrund von Abhängigkeiten nicht möglich ist, sequenziell aus. SMT versucht die Befehle zweier oder mehrerer Threads (aus einem oder mehreren Programmen) zu parallelisieren, und führt sie, falls das nicht möglich ist, abwechselnd aus. (Dies kann als „Superskalarität über mehrere Threads“ bezeichnet werden.)
Bei beiden Konzepten handelt es sich also um eine Anstrengung, durch eine Parallelisierung der Befehlsverarbeitung die verschiedenen Einheiten einer CPU besser auszulasten und so eine höhere Geschwindigkeit der Programmverarbeitung zu erreichen, ohne die Taktfrequenz oder die Anzahl der befehlsausführenden Einheiten zu erhöhen, wobei der Parallelisierungsgrad bei SMT höher oder gleich, aber nie geringer als der der Pipeline-Architektur sein kann.
Abgrenzung zur Mehrkern-Architektur
Von der Multicore-Architektur unterscheidet sich SMT dadurch, dass die dem System gemeldeten Prozessoren einer SMT-CPU keine unabhängigen Prozessoren sind. Bei SMT teilen sich die virtuellen Prozessoren den Zugriff auf dieselben Datenverarbeitungseinheiten (ALU/FPU), während innerhalb eines Mehrkernprozessors jeder Kern seine eigene Datenverarbeitungseinheit besitzt.
Sowohl ein SMT-Prozessor mit zwei Threads als auch ein Doppelkern-Prozessor erscheinen gegenüber dem System als zwei Prozessoren. Jedoch handelt es sich bei einem Doppelkern-Prozessor um tatsächlich zwei unabhängige und dementsprechend schnelle Prozessoren, während es sich bei SMT um einen Prozessor mit zwei oder mehr Hardware-threads handelt.
Prozessoren mit SMT
- Intel Pentium 4 (Hyper-Threading)
- Intel Xeon (Hyper-Threading)
- Intel Atom (Hyper-Threading)
- Intel Core i7
- IBM Cell
- IBM POWER5 und POWER6
- Sun UltraSparc T1 (Artikel in Englisch)
- Sun UltraSparc T2 (Artikel in Englisch)
- Sun Rock (Artikel in Englisch)
Weitere Informationen
Siehe auch
Hardwareseitiges Multithreading, Hyper-Threading, Nebenläufigkeit, Parallelisierung, Pipeline (Prozessor), Multicore-Prozessor
Wikimedia Foundation.