CPU-Grundlagen: Was sind Kerne, Hyper-Threading und mehrere CPUs?
Veröffentlicht: 2023-03-19Die zentrale Verarbeitungseinheit (CPU) in Ihrem Computer erledigt die Rechenarbeit – im Grunde das Ausführen von Programmen. Moderne CPUs bieten jedoch Funktionen wie mehrere Kerne und Hyper-Threading. Einige PCs verwenden sogar mehrere CPUs. Wir erklären die Unterschiede und wie sie funktionieren.
Was sind Hyperthreading und simultanes Multithreading?
Was sind CPU-Kerne?
Sind alle Multi-Core-CPU-Konfigurationen gleich?
Was ist mit mehreren CPUs?
Was sind Hyperthreading und simultanes Multithreading?
Gleichzeitiges Multithreading (von Intel Hyper-Threading genannt) ermöglicht es einer einzelnen CPU, mehrere Aufgaben gleichzeitig statt nacheinander auszuführen, was die Leistung in den meisten Situationen verbessert.
Hyper-Threading war Intels erster Versuch, im Jahr 2002 parallele Berechnungen auf Verbraucher-PCs zu bringen. Die damaligen Pentium 4 verfügten nur über einen einzigen CPU-Kern, sodass sie nur eine Aufgabe gleichzeitig ausführen konnten – selbst wenn sie zwischen ihnen umschalten konnten Aufgaben schnell genug, dass es wie Multitasking aussah. Hyper-Threading – auf AMD- und anderen Nicht-Intel-Prozessoren simultanes Multithreading (SMT) genannt – versuchte, dies auszugleichen.
Hinweis: Genau genommen verfügen nur Intel-Prozessoren über Hyper-Threading, der Begriff wird jedoch manchmal umgangssprachlich für jede Art von gleichzeitigem Multithreading verwendet.
Ein einzelner physischer CPU-Kern mit Hyperthreading oder simultanem Multithreading erscheint einem Betriebssystem als zwei logische CPUs. Die CPU ist immer noch eine einzelne CPU, also ist es ein kleiner Cheat. Während das Betriebssystem zwei CPUs für jeden Kern sieht, verfügt die eigentliche CPU-Hardware nur über einen einzigen Satz von Ausführungsressourcen für jeden Kern. Die CPU gibt vor, mehr Kerne zu haben, als sie hat, und verwendet ihre eigene Logik, um die Programmausführung zu beschleunigen. Mit anderen Worten, das Betriebssystem wird dazu verleitet, zwei CPUs für jeden tatsächlichen CPU-Kern zu sehen.
Hyper-Threading ermöglicht es den beiden logischen CPU-Kernen, physische Ausführungsressourcen gemeinsam zu nutzen. Dies kann die Dinge etwas beschleunigen – wenn eine virtuelle CPU blockiert ist und wartet, kann die andere virtuelle CPU ihre Ausführungsressourcen ausleihen. Hyper-Threading kann Ihr System beschleunigen, aber es ist bei weitem nicht so gut wie echte zusätzliche Kerne.
Zum Glück ist Hyper-Threading jetzt nur noch ein Bonus. Während die ursprünglichen Consumer-Prozessoren mit Hyper-Threading nur einen einzigen Kern hatten, der sich als mehrere Kerne ausgab, verfügen moderne CPUs jetzt sowohl über mehrere Kerne als auch über Hyper-Threading oder SMT-Technologie. Ihre Hexa-Core-CPU mit Hyper-Threading erscheint Ihrem Betriebssystem als 12 Kerne, während Ihre Octa-Core-CPU mit Hyper-Threading als 16 Kerne erscheint. Hyper-Threading ist kein Ersatz für zusätzliche Kerne, aber eine Dual-Core-CPU mit Hyper-Threading sollte besser abschneiden als eine Dual-Core-CPU ohne Hyper-Threading.
Was sind CPU-Kerne?
Ursprünglich hatten CPUs einen einzelnen Kern. Das bedeutete, dass die physische CPU eine einzige zentrale Verarbeitungseinheit hatte. Um die Leistung zu steigern, fügten die Hersteller zusätzliche „Kerne“ oder zentrale Verarbeitungseinheiten hinzu. Eine Dual-Core-CPU hat zwei zentrale Verarbeitungseinheiten, daher erscheint sie dem Betriebssystem als zwei CPUs. Eine CPU mit zwei Kernen könnte beispielsweise zwei verschiedene Prozesse gleichzeitig ausführen. Dies beschleunigt Ihr System, da Ihr Computer mehrere Dinge gleichzeitig erledigen kann.
Im Gegensatz zu Hyper-Threading gibt es hier keine Tricks – eine Dual-Core-CPU hat buchstäblich zwei zentrale Verarbeitungseinheiten auf dem CPU-Chip. Eine Quad-Core-CPU hat vier zentrale Verarbeitungseinheiten, eine Octa-Core-CPU hat acht zentrale Verarbeitungseinheiten und so weiter.
Dies hilft, die Leistung dramatisch zu verbessern, während die physische CPU-Einheit klein genug bleibt, um in einen einzigen Sockel zu passen. Es muss nur ein einziger CPU-Sockel mit einer einzelnen eingesetzten CPU-Einheit vorhanden sein – nicht vier verschiedene CPU-Sockel mit vier verschiedenen CPUs, die jeweils ihre eigene Stromversorgung, Kühlung und andere Hardware benötigen. Es gibt weniger Latenz, da die Kerne schneller kommunizieren können, da sie sich alle auf demselben Chip befinden.
Der Windows Task-Manager zeigt dies ziemlich gut an. Hier sehen Sie zum Beispiel, dass dieses System eine tatsächliche CPU (Sockel) und 8 Kerne hat. Gleichzeitiges Multithreading lässt jeden Kern für das Betriebssystem wie zwei CPUs aussehen, sodass 16 logische Prozessoren angezeigt werden.
Sind alle Multi-Core-CPU-Konfigurationen gleich?
Nein, nicht alle Mehrkern-CPU-Konfigurationen sind gleich. Es gibt zwei unterschiedliche Designphilosophien, denen Sie begegnen werden, wenn Sie sich Multi-Core-CPUs ansehen.
Eine Art der Konfiguration – und die Art, die seit Jahren bei Consumer-PCs üblich ist – verwendet mehrere identische Kerne. Wenn Sie in diesen Setups ein Octa-Core-System haben, sind alle acht dieser Prozessoren Hochleistungs-CPUs, und sie sind alle auf die gleiche Weise optimiert.
Der andere verwendet eine Mischung verschiedener Kerne (manchmal als heterogene Kernarchitektur bezeichnet). In der Regel verwenden diese Setups zwei unterschiedliche Typen: Leistungskerne und Effizienzkerne.
Das genaue Benennungsschema variiert ein wenig zwischen Unternehmen und Anwendungen, aber die Grundidee ist dieselbe. Die Effizienzkerne sind für Hintergrund- und Schwachlastaufgaben reserviert. Diese Kerne verbrauchen weniger Strom. Leistungskerne sind das genaue Gegenteil. Sie verbrauchen deutlich mehr Strom, bieten aber bei anspruchsvollen Aufgaben wie Spielen eine viel bessere Leistung. Die Kombination führt zu Leistung, wenn Sie sie benötigen, aber zu einem geringeren Hintergrundenergieverbrauch.
VERWANDT: Was ist Undervolting einer GPU oder CPU und wann sollten Sie es tun?
Dieses heterogene Multi-Core-Setup (von ARM big.LITTLE genannt) wurde zuerst bei Mobiltelefonen und anderen Mobilgeräten wegen der damit verbundenen Stromeinsparungen beliebt. Wenn Ihr Telefon den ganzen Tag durchhalten soll, ist es nicht sinnvoll, den Akku unnötig zu entladen, indem Sie ständig einen Hochleistungskern verwenden. Intel führte die Idee auch in Mainstream-Desktop-CPUs ein, beginnend mit seinen Alder-Lake-Prozessoren.
Was ist mit mehreren CPUs?
Die meisten Computer haben nur eine einzige CPU. Diese einzelne CPU kann mehrere Kerne oder Hyper-Threading-Technologie haben – aber es ist immer noch nur eine physische CPU-Einheit, die in einen einzelnen CPU-Sockel auf dem Motherboard gesteckt wird.
VERWANDT: Warum Sie die CPU-Taktgeschwindigkeit nicht verwenden können, um die Computerleistung zu vergleichen
Bevor Hyper-Threading und Mehrkern-CPUs auf den Markt kamen, versuchten die Leute, Computern zusätzliche Rechenleistung hinzuzufügen, indem sie zusätzliche CPUs hinzufügten. Dies erfordert ein Motherboard mit mehreren CPU-Sockeln. Das Motherboard benötigt außerdem zusätzliche Hardware, um diese CPU-Sockel mit dem RAM und anderen Ressourcen zu verbinden. Es gibt eine Menge Overhead in dieser Art von Setup. Es gibt zusätzliche Latenz, wenn die CPUs miteinander kommunizieren müssen, Systeme mit mehreren CPUs mehr Strom verbrauchen und das Motherboard mehr Sockel und Hardware benötigt.
Systeme mit mehreren CPUs sind heute bei Heimanwender-PCs nicht sehr verbreitet. Selbst ein leistungsstarker Gaming-Desktop mit mehreren Grafikkarten hat im Allgemeinen nur eine einzige CPU. Unter Supercomputern, Servern, einigen Workstations und ähnlichen High-End-Systemen, die so viel Rechenleistung wie möglich benötigen, finden Sie mehrere CPU-Systeme.
Je mehr CPUs oder Kerne ein Computer hat, desto mehr Dinge kann er gleichzeitig tun, was dazu beiträgt, die Leistung bei den meisten Aufgaben zu verbessern. Die meisten Computer haben jetzt CPUs mit mehreren Kernen – die effizienteste Option, die wir besprochen haben. Auf modernen Smartphones und Tablets finden Sie sogar CPUs mit mehreren Kernen.
Die Taktrate für eine CPU und ihren IPC (Anweisungen pro Zyklus) reichte früher aus, um die Leistung zu vergleichen. Die Dinge sind nicht mehr so einfach. Eine CPU, die mehrere Kerne und Hyper-Threading bietet, kann deutlich besser abschneiden als eine CPU mit der gleichen Geschwindigkeit, die kein Hyper-Threading bietet. Und PCs mit mehreren CPUs können einen noch größeren Vorteil haben. Alle diese Funktionen wurden entwickelt, um es PCs zu ermöglichen, mehrere Prozesse gleichzeitig einfacher auszuführen – was Ihre Leistung beim Multitasking oder unter den Anforderungen leistungsstarker Apps wie Video-Encoder und moderner Spiele erhöht.
Natürlich ist eine höhere Kernanzahl nicht in jeder Situation so wichtig. Moderne Betriebssysteme sind ziemlich schlau darin, ihre Aufgaben auf mehrere Kerne aufzuteilen, aber nicht alle Programme sind so gut optimiert. In vielen Fällen (insbesondere beim Spielen) wird die Leistung in erster Linie durch die maximale Geschwindigkeit eines einzelnen Kerns begrenzt und nicht durch die Anzahl der Gesamtkerne, die Sie haben. Also beeilen Sie sich nicht, eine Threadripper-CPU mit 64 Kernen zu kaufen, in der Annahme, dass Sie damit eine Milliarde FPS in Call of Duty einbringen werden – das wird es nicht.