multi-threading
multi-threading
Bücher zum Thema bei Amazon.de
Multi-Threaded-Prozessoren bieten eine Hardware-basierte Unterstützung für den effizienten Einsatz von Threads. Sie erlauben vor allem einen schnellen Wechsel zwischen den Threads desselben Tasks. Dafür besitzen Multi-Threaded-Prozessoren mehrere Registersätze, die jeweils den unterschiedlichen Threads zugeteilt werden. Ein Verteiler (Dispatch Unit) veranlasst das Umschalten zwischen den verschiedenen Threads. Insbesondere sind zu nennen:
Switch-on-Event
Multi-Threading stöt den Wechsel von einem auf einen anderen Thread nach einem Ereignis (Event) an. Das kann ein Cache-Miss sein, der einen Zugriff auf den Speicher zur Folge hätte.
Feingranulares zeitschlitzorientiertes Multi-Threading gibt die einzelnen Bestandteile der verschiedenen Threads in die unterschiedlichen Zeitschlitze einer Pipeline. Zwar werden die Pipelines auf diese Weise am besten genutzt, dies geht allerdings zu Lasten eines gröeren Verwaltungsaufwands auf der Hardware-Seite.
Auf dem Intel Developer Forum im August 2001 (IDF Fall 2001) wurde die Hyper-Threading-Technologie als Multi-Threaded-Erweiterung der IA-32-Architektur vorgestellt. Der ursprüngliche Codename lautete Jackson-Technologie, auch die Bezeichnung Simultaneous Multi-Threading (SMT) ist verbreitet. Die Intel-Entwickler setzen bei der Hyper-Threading-Technologie auf ein Konzept, welches den Thread-Wechsel vom Betriebssystem auslösen lässt und damit eine grötmögliche Flexibilität erreicht.
grobgranular in dem Sinne ist, dass die Thread-Wechsel nur nach gröeren Zeiteinheiten erfolgen.
Das Ziel von Hyper-Threading ist, dass die unterschiedlichen Pipelines eines Mikroprozessors durch unterschiedliche Threads zeitgleich - und damit wie getrennte Prozessoren - effizient genutzt werden.