Hyper-Threading im Detail

Ineffiziente Prozessoren

Ein großer Teil der Prozessor-Ressourcen bleibt sowohl im Single- als auch im DP/MP-Betrieb ungenutzt. Intel gibt an, dass bei Anwendungen mit einer typischen Verteilung der Befehle bei der 32-Bit-Netburst-Architektur vom Pentium 4 und Xeon nur etwa 35 Prozent der Ressourcen eingesetzt werden. Dieses traurige Ergebnis ist den verschiedenen Engpässen der kontrollflussorientierten von-Neumann-Architektur zuzuschreiben.

Aber auch die durch das Amdahlsche Gesetz beschriebene Tatsache ist hierfür verantwortlich, dass sich ein Teil der Befehlsabläufe auf Grund von Datenabhängigkeiten nicht parallelisieren lässt. Dies gilt vor allem für die Parallelisierung auf Befehlsebene (Instruction Level Parallelism, ILP), wie sie im Rahmen von Pipeline- und superskalaren Systemen innerhalb eines Mikroprozessors realisiert werden.

Viel einfacher ist es, nebenläufige oder gänzlich unabhängige Vorgänge parallel abzuarbeiten. Die Verteilung der Prozesse oder Threads auf verschiedene Mikroprozessoren wird bereits seit einiger Zeit von Betriebssystemen unterstützt (Thread Level Parallelism - TLP). Die Effizienz der einzelnen CPUs steigt aber durch den Einsatz mehrerer Prozessoren auch nicht, wie im Bild "Standard-CPUs" der Vergleich zwischen "Superscalar" und "Multiprocessing" zeigt.