Hyper-Threading – Einleitung
”Get more done in less time”, so lautet das Motto von Intel bezüglich Hyper-Threading. Dies bedeutet auf Deutsch soviel wie ”Erledige mehr in weniger Zeit”.
Dies könnte man einfach auf die höhere Taktfrequenz des Prozessors zurückführen, denn mit mehr als 3 GHz sollten ja sämtliche Anwendungen schneller laufen, so dass verschiedene Aufgaben am PC zügiger beendet werden sollten. Mit ”more” meint Intel aber nicht nur ”mehr hintereinander”, sondern auch ”mehr gleichzeitig”. Um verschiedene Dinge parallel ablaufen zu lassen, greift man in zeitkritischen und kostenintensiven Fällen zu einem System mit mehreren Prozessoren, so dass die Last der gleichzeitig zu erledigenden Aufgaben auf die CPUs verteilt werden kann. Allerdings ist es im Desktop-Bereich finanziell wohl selten sinnvoll, ein Dual-System einzusetzen. Mit Hyper-Threading (HT) will Intel nun quasi Dual-CPU-Performance bei nur einem einzigen Prozessor ermöglichen.
Dazu führt man die Begriffe “logischer” und “physikalischer” Prozessor ein. Mit der entsprechenden Hardware soll dem Betriebssystem vermittelt werden, dass im PC zwei (logische) CPUs stecken, obwohl nur ein (physikalischer) Prozessor vorhanden ist. Damit dies funktioniert, wurden im Pentium 4 3.06 GHz keine zwei Prozessorkerne in ein CPU-Gehäuse gesteckt, sondern der Core lediglich um einige Features erweitert. Im Endeffekt machen diese Neuerungen nicht einmal 5% der CPU-Fläche aus, so dass auch die Fertigungskosten nicht deutlich gestiegen sind.
Was einem Prozessor für Hyper-Threading hinzugefügt wurde
Bevor die Funktionsweise von Hyper-Threading erklärt werden kann, muss verstanden werden, wie ein modernes Betriebssystem arbeitet.
”Multitasking” ist seit einigen Jahren für uns schon so selbstverständlich, dass dieser Begriff kaum noch verwendet wird. Wir sind gewohnt, unter Windows oder Linux mehrere Anwendungen parallel geöffnet zu haben. Manchmal warten diese nicht nur auf Aktionen vom Anwender (oder von Geräten wie Drucker oder Modem), sondern verrichten ihre Aufgaben sogar weiter im Hintergrund, nachdem der User sie gestartet hat, wie z.B. SETI@Home, Internet-Downloads oder -Radio, Video- oder Audio-Umwandlung etc. Der Eindruck der Parallelität, der dabei entsteht, täuscht natürlich nur. Der Prozessor kann immer nur einen Befehl nach dem anderen abarbeiten. Da geht nichts wirklich parallel. Lediglich durch die Schnelligkeit der Bearbeitung entsteht der Eindruck, die Anwendungen würden gleichzeitig ablaufen. Auf CPU-Ebene dagegen wechseln sich die verschiedenen ”Tasks” (Aufgaben) lediglich sehr schnell ab. Jede bekommt dabei nacheinander eine gewisse Prozessorzeit, bevor die nächste dran ist. Nachdem alle befriedigt wurden, geht das Ganze dann wieder von vorn los mit dem ersten Task.
Dem Betriebssystem fällt dabei vorher die Aufgabe zu, die einzelnen Tasks in kleinere Teile (”Threads”) aufzuteilen, sofern das möglich ist und die Applikation dies ermöglicht. Schließlich macht es keinen Sinn, wenn alle anderen Tasks erst warten müssen, bevor eine Anwendung komplett fertig ist mit ihrer Aufgabe. Ansonsten könnte man nicht weiterarbeiten, während im Hintergrund MP3s abgespielt oder Videos umgewandelt werden.
In einem Mehr-Prozessor-System nun können die aufgeteilten Threads tatsächlich von verschiedenen CPUs gleichzeitig verarbeitet werden, also parallel, wenn ein geeignetes Betriebssystem diese Thread-Verteilung beherrscht. Und genau dies kann – unter bestimmten Voraussetzungen – auch Hyper-Threading mit nur einer einzigen CPU leisten.
Neueste Kommentare
2. November 2024
29. Oktober 2024
24. Oktober 2024
21. Oktober 2024
18. Oktober 2024
12. Oktober 2024