Multithreading ermöglicht es Prozessoren, mehrere Aufgaben gleichzeitig zu bearbeiten und vorhandene Ressourcen effizienter zu nutzen. Der Unterschied zwischen physischen Kernen und logischen Threads ist entscheidend für die Systemleistung. Für optimale CPU-Performance zählen neben der Thread-Anzahl auch Architektur, Single-Core-Leistung und Cache-Größe.
Multithreading bei Prozessoren ermöglicht es, die Rechenressourcen der CPU effizienter zu nutzen und mehrere Anweisungsfolgen gleichzeitig zu verarbeiten. Deshalb findet man in den Spezifikationen moderner CPUs oft Angaben wie 8 Kerne und 16 Threads. Dabei bedeuten 16 Threads jedoch nicht, dass 16 vollwertige physische Kerne vorhanden sind - das sind unterschiedliche Begriffe.
Um zu verstehen, wie Multithreading funktioniert, sollte man zunächst wissen, was CPU-Kerne und Threads sind, warum sich deren Anzahl unterscheidet und welche Rolle diese Parameter für die Systemleistung spielen.
Ein CPU-Kern ist eine physische Recheneinheit innerhalb der CPU, die eigenständig Befehle ausführen kann. Moderne Prozessoren verfügen meist über mehrere dieser Kerne, wodurch verschiedene Aufgaben oder Programmteile parallel verarbeitet werden können.
So verfügt beispielsweise eine Achtkern-CPU tatsächlich über acht physische Recheneinheiten. Das Betriebssystem verteilt die Aufgaben auf diese Kerne: Ein Kern kann Browser-Prozesse übernehmen, ein anderer ein Spiel, der nächste Hintergrunddienste, während die restlichen weitere Berechnungen durchführen.
Ein Thread ist eine Abfolge von Anweisungen, die der Prozessor zu einem bestimmten Zeitpunkt bearbeitet. In den CPU-Spezifikationen steht die Thread-Anzahl meist für die Zahl der logischen Prozessoren, die das Betriebssystem sieht und denen es Aufgaben zuweisen kann.
Der einfachste Fall: Ein physischer Kern verarbeitet einen Thread. Dann erscheint eine Achtkern-CPU im System als Prozessor mit acht Threads.
Moderne Prozessoren ermöglichen es aber, dass ein physischer Kern mehrere Threads gleichzeitig bearbeitet. Bei der Konfiguration "8 Kerne / 16 Threads" kann jedes der acht physischen Kerne also zwei Threads bedienen.
Zusätzliche Threads werden manchmal als virtuelle Kerne bezeichnet - das ist jedoch eine Vereinfachung. Sie sind keine eigenständigen physischen Kerne und verfügen nicht über einen vollständigen eigenen Satz an Ausführungseinheiten. Zwei Threads eines Kerns teilen sich viele seiner Ressourcen.
Daher kann man eine CPU mit 8 Kernen und 16 Threads nicht einfach mit einer 16-Kern-CPU gleichsetzen. Echte physische Kerne bieten eigene Ausführungsressourcen, während zusätzliche Threads die Auslastung bestehender Kerne verbessern.
Um zu verstehen, wie ein Kern mehrere Aufgaben gleichzeitig erledigen kann, muss man die Architektur des Prozessors betrachten. Während der Ausführung nutzt ein Kern verschiedene Ausführungseinheiten: Einige sind für Ganzzahlberechnungen zuständig, andere für Gleitkommazahlen, Datenzugriffe aus dem Speicher und weitere Aufgaben. Bei der Ausführung eines einzelnen Threads bleiben Teile dieser Ressourcen oft ungenutzt.
Beispiel: Benötigt ein Programm Daten aus dem Arbeitsspeicher, muss der Kern warten, bis diese verfügbar sind. Selbst geringe Speicherverzögerungen führen bei modernen CPUs zu vielen verlorenen Taktzyklen. Multithreading nutzt solche Pausen effizient: Während ein Thread auf Daten oder eine Ressource wartet, kann der Kern Anweisungen eines anderen Threads ausführen.
Dafür speichert der Prozessor den Zustand mehrerer Threads gleichzeitig: Registerwerte, Befehlszähler und weitere Informationen, die für die Fortsetzung der Ausführung nötig sind. Die meisten Recheneinheiten bleiben dabei gemeinsam nutzbar.
Moderne Technologien wie Simultaneous Multithreading (SMT) gehen noch einen Schritt weiter: Wenn die Anweisungen zweier Threads unterschiedliche Ausführungseinheiten benötigen, kann der Prozessor Teile ihrer Operationen nahezu gleichzeitig auf einem physischen Kern bearbeiten. Dadurch entsteht der Eindruck, ein Kern arbeite wie zwei.
Die tatsächliche Rechenleistung eines Kerns verdoppelt sich dadurch aber nicht. Beide Threads konkurrieren um gemeinsame Ressourcen wie Ausführungseinheiten, Cache und Bandbreite. Fordern beide Threads dieselben Ressourcen an, bleibt der Leistungszuwachs begrenzt.
Ausführlichere Informationen zur CPU-Architektur und den Gründen, warum die Leistung nicht nur von der Taktfrequenz abhängt, finden Sie im Beitrag Warum Gigahertz kein Maßstab mehr ist: So bestimmt sich echte Prozessorleistung heute.
Multithreading ist eher als Methode zu verstehen, vorhandene Ressourcen besser auszulasten statt als Hinzufügen eines weiteren Kerns. Der Prozessor versucht, freie Einheiten mit Arbeit aus dem zweiten Thread zu belegen, statt sie ungenutzt zu lassen.
Die Technologie, die es einem physischen Kern erlaubt, mehrere Threads zu verarbeiten, wird als Simultaneous Multithreading (SMT) bezeichnet. Ziel ist es, die Auslastung der Ausführungseinheiten durch parallele Anweisungen mehrerer Threads zu optimieren.
Hyper-Threading ist der Markenname für SMT bei Intel. Hier wird ein physischer Kern dem Betriebssystem als mehrere logische Prozessoren präsentiert. Klassisch bearbeitet ein Kern zwei Threads, sodass ein Vierkern-Prozessor mit Hyper-Threading als Acht-Thread-CPU erscheint.
AMD verwendet den Begriff SMT ohne eigenes Marketinglabel. Eine CPU mit 8 physischen Kernen und SMT-Unterstützung kann also 16 Threads verarbeiten. Für das Betriebssystem sieht jeder Thread wie ein separater logischer Prozessor aus, zwischen denen der Scheduler Aufgaben verteilt.
So entstand der Begriff virtuelle Kerne. Er ist anschaulich, aber technisch nicht ganz korrekt. Ein logischer Prozessor ist kein eigener physischer Kern: Ihm fehlen eigene Ausführungseinheiten, Caches und weitere Ressourcen. Viele Komponenten werden mit dem anderen Thread des Kerns geteilt.
Daher liefern zwei logische Threads auf einem physischen Kern nicht die gleiche Leistung wie zwei physische Kerne. Beanspruchen beide Threads dieselben Ressourcen, konkurrieren sie miteinander. Bleiben dagegen Ressourcen ungenutzt, kann der zweite Thread diese nutzen und die Gesamtleistung erhöhen.
Der Unterschied zwischen SMT und Hyper-Threading liegt also primär im Namen: SMT beschreibt das Prinzip, Hyper-Threading ist Intels konkrete Technologie auf dieser Basis.
Multithreading bringt den größten Vorteil bei Aufgaben, die sich in mehrere unabhängige Teile aufteilen lassen. Je besser ein Programm die Berechnungen auf Threads verteilt, desto mehr profitiert es von einer CPU mit vielen logischen Threads.
Typische Beispiele sind 3D-Rendering, Videocodierung, Software-Compilation, Datenkompression und bestimmte Ingenieuraufgaben. Solche Workloads lassen sich oft in viele kleine Operationen zerlegen, die parallel ausgeführt werden können. Eine CPU mit 8 Kernen und 16 Threads ist bei solchen Aufgaben meist spürbar schneller als ein vergleichbarer Prozessor ohne Multithreading.
Auch bei intensiver Arbeit mit mehreren Programmen gleichzeitig ist Multithreading nützlich. Browser, Messenger, Bildeditor, Hintergrunddienste und weitere Prozesse benötigen gleichzeitig CPU-Zeit. Je mehr Threads das System sieht, desto leichter lassen sich Aufgaben ohne Verzögerung verteilen.
Bei Spielen ist die Situation komplexer. Moderne Game-Engines können mehrere Threads für Physik, KI, Grafikbefehle, Ressourceladen und andere Aufgaben nutzen. Doch nicht alle Berechnungen lassen sich gleichmäßig auf viele Threads verteilen.
Daher führt eine höhere Thread-Anzahl nicht immer zu einem proportionalen FPS-Anstieg. Für die Gaming-Leistung sind auch die Architektur, die Single-Core-Performance, Cache-Größe und -Latenzen, Arbeitsspeicher und Eigenschaften der jeweiligen Engine entscheidend.
Mehr zum Einfluss des Caches auf die Spieleleistung lesen Sie im Beitrag CPU-Cache: Warum er für Gaming wichtiger ist als Taktfrequenz.
Wichtig ist auch: 8 Kerne und 16 Threads sind nicht gleichbedeutend mit 16 physischen Kernen. Zusätzliche logische Threads verwenden die Ressourcen der physischen Kerne gemeinsam - der Leistungszuwachs hängt von der Art der Anwendung ab. Bei manchen Workloads beschleunigt Multithreading die Ausführung deutlich, in anderen ist der Unterschied gering.
Deshalb ist es falsch, Prozessoren nur anhand der Thread-Anzahl zu vergleichen. Zwei CPUs mit gleicher Kern- und Threadkonfiguration können sich deutlich in der Leistung unterscheiden - abhängig von Architektur, Takt, Cache-Größe und der Effizienz der Befehlsausführung.
Die optimale Anzahl an Kernen und Threads hängt vor allem von den genutzten Anwendungen ab. Viele Threads allein garantieren keine hohe Leistung: Architektur, Kernleistung, Cache-Größe, Taktraten und Programmeigenschaften sind ebenso wichtig.
Für Browser, Office-Anwendungen, Videowiedergabe und alltägliche Aufgaben reicht meist eine geringe Thread-Anzahl aus. Hier ist eine starke Single-Core-Leistung und ausreichend Arbeitsspeicher wichtiger, denn die meisten Aufgaben belasten nicht dauerhaft alle Kerne.
In modernen Spielen helfen zusätzliche Kerne bei der Parallelverarbeitung von Engine, Physik, KI, Hintergrundprozessen und Betriebssystem. Ab einer bestimmten Anzahl bringt eine weitere Erhöhung der Threads jedoch weniger als eine Steigerung der Single-Core-Leistung.
Für Videoschnitt, 3D-Rendering, Software-Compilation, virtuelle Maschinen und andere gut parallelisierbare Aufgaben ist es genau umgekehrt: Hier profitieren Programme von vielen Kernen und Threads und können sie nahezu vollständig auslasten.
Auch die Architektur moderner CPUs spielt eine Rolle. Manche Intel-Prozessoren kombinieren leistungsstarke P-Kerne mit energieeffizienten E-Kernen, die sich in Fähigkeiten und Zweck unterscheiden. Ein reiner Vergleich der Kernanzahl kann deshalb irreführend sein.
Mehr zur Architektur solcher CPUs erfahren Sie im Beitrag Intel-Hybridarchitektur erklärt: P-Kerne und E-Kerne optimal nutzen.
Beim Kauf einer CPU sollte man nicht nur auf Angaben wie "8 Kerne / 16 Threads" achten, sondern auf die Leistung in den tatsächlich genutzten Anwendungen. Für Spiele ist starke Einzelkernleistung und eine gute Architektur wichtiger, für Rendering und rechenintensive Aufgaben lohnt sich meist eine hohe Kern- und Thread-Anzahl.
Multithreading ermöglicht es einem physischen Kern, seine Ressourcen effizienter zu nutzen und mehrere Threads gleichzeitig zu bedienen. Moderne CPUs verfügen daher oft über mehr Threads als physische Kerne, doch zusätzliche logische Threads machen aus einem Kern keine zwei vollwertigen.
SMT und Hyper-Threading sind besonders bei stark parallelisierten Aufgaben wie 3D-Rendering, Videocodierung, Software-Compilation, Datenkompression und Multitasking nützlich. In Spielen und Anwendungen mit weniger Parallelisierung bleibt der Leistungsgewinn meist begrenzt.
Bei der Prozessorwahl zählt nicht nur die Anzahl der Kerne und Threads, sondern auch die Architektur, Single-Core-Performance, Cache-Größe und Besonderheiten der jeweiligen Programme. Eine Konfiguration mit "8 Kernen / 16 Threads" allein sagt noch wenig darüber aus, wie schnell die CPU im Alltag tatsächlich ist.