Mehrkernprozessoren: Ist mehr immer besser?

Mehrere Kerne zu einem einzelnen hinzufügen Prozessor bietet dank des Multitasking-Charakters moderner Betriebssysteme erhebliche Vorteile. Für einige Zwecke gibt es jedoch eine praktische Obergrenze dafür, wie viele Kerne Verbesserungen im Verhältnis zu den Kosten für das Hinzufügen dieser Kerne erzielen.

Fortschritte in der Multi-Core-Technologie

PAE-NX-SSE2-CPU-Windows
TobiasD / Pixabay

Multi-Core-Prozessoren wurden in persönliche Computer seit Anfang der 2000er Jahre. Multi-Core-Designs adressierten das Problem, dass Prozessoren an die Grenze ihrer physischen Einschränkungen in Bezug auf ihre Taktraten und wie effektiv sie gekühlt werden können und trotzdem beibehalten werden Richtigkeit. Durch die Umstellung auf zusätzliche Kerne auf einem einzigen Prozessorchip vermieden die Hersteller Probleme mit den Taktraten, indem sie die Datenmenge, die von den Zentralprozessor.

Als sie ursprünglich auf den Markt kamen, boten die Hersteller nur zwei Kerne in einer einzigen CPU an, aber jetzt gibt es Optionen für vier, sechs und sogar 10 oder mehr. Zusätzlich zum Hinzufügen von Kernen können simultane Multithreading-Technologien – wie Intels Hyper-Threading – die virtuellen Kerne verdoppeln, die die

Betriebssystem sieht.

Prozesse und Threads

EIN Prozess ist eine bestimmte Aufgabe, wie ein Programm, die auf einem Computer ausgeführt wird. Ein Prozess besteht aus einem oder mehreren Threads.

EIN Gewinde ist einfach ein einzelner Datenstrom aus einem Programm, der den Prozessor auf dem Computer passiert. Jede Anwendung generiert je nach Ausführung einen eigenen oder mehrere Threads. Ohne Multitasking kann ein Single-Core-Prozessor jeweils nur einen einzelnen Thread verarbeiten, sodass das System schnell zwischen den Threads wechselt, um die Daten scheinbar gleichzeitig zu verarbeiten.

Der Vorteil mehrerer Kerne besteht darin, dass das System mehr als einen Thread gleichzeitig verarbeiten kann. Jeder Kern kann einen separaten Datenstrom verarbeiten. Diese Architektur erhöht die Leistung eines Systems, auf dem gleichzeitige Anwendungen ausgeführt werden, erheblich. Da Server dazu neigen, viele gleichzeitige Anwendungen gleichzeitig auszuführen, wurde die Technologie ursprünglich für die Unternehmenskunden – aber als PCs komplexer wurden und Multitasking zunahm, profitierten auch sie davon, dass sie zusätzliche Kerne.

Jeder Prozess wird jedoch von einem primären Thread gesteuert, der nur einen einzigen Kern belegen kann. Somit ist die relative Geschwindigkeit eines Programms wie eines Spiels oder eines Videorenderers fest auf die Leistungsfähigkeit des Kerns beschränkt, den der primäre Thread verbraucht. Der primäre Thread kann absolut sekundäre Threads an andere Kerne delegieren – aber ein Spiel wird nicht doppelt so schnell, wenn Sie die Kerne verdoppeln. Daher ist es für ein Spiel nicht ungewöhnlich, einen Kern (den primären Thread) vollständig zu maximieren, aber nur eine teilweise Nutzung anderer Kerne für sekundäre Threads zu sehen. Keine Kernverdopplung kommt um die Tatsache herum, dass der primäre Kern ein Ratenbegrenzer für Sie ist Anwendung, und Apps, die auf diese Architektur reagieren, erzielen eine bessere Leistung als Apps, die sind nicht.

Softwareabhängigkeit

Während das Konzept von Mehrkernprozessoren ansprechend klingt, gibt es bei dieser Technologie einen großen Vorbehalt. Um die wahren Vorteile der mehreren Prozessoren nutzen zu können, muss die auf dem Computer ausgeführte Software so geschrieben sein, dass sie Multithreading unterstützt. Ohne die Software, die eine solche Funktion unterstützt, werden Threads hauptsächlich durch einen einzelnen Kern ausgeführt, wodurch die Gesamteffizienz des Computers beeinträchtigt wird. Denn wenn es nur auf einem einzigen Kern in einem Quad-Core-Prozessor laufen kann, kann es tatsächlich schneller sein, es auf einem Dual-Core-Prozessor mit höheren Basistaktraten auszuführen.

Alle gängigen Betriebssysteme unterstützen die Multithreading-Fähigkeit. Das Multithreading muss aber auch in die Anwendungssoftware geschrieben werden. Die Unterstützung für Multithreading in Consumer-Software hat sich im Laufe der Jahre verbessert, aber für viele einfach Programme, Multithreading-Unterstützung ist aufgrund der Komplexität der Software noch nicht implementiert bauen. Ein Mailprogramm oder Webbrowser wird zum Beispiel wahrscheinlich nicht so große Vorteile von Multithreading sehen wie ein Grafik- oder Videobearbeitungsprogramm, bei dem der Computer komplexe Berechnungen verarbeitet.

Ein gutes Beispiel, um diese Tendenz zu erklären, ist ein typisches Computerspiel. Die meisten Spiele erfordern eine Art Rendering-Engine, um anzuzeigen, was im Spiel passiert. Darüber hinaus steuert eine Art künstliche Intelligenz Ereignisse und Charaktere im Spiel. Bei einem Single-Core werden beide Aufgaben ausgeführt, indem zwischen ihnen gewechselt wird. Dieser Ansatz ist nicht effizient. Wenn das System über mehrere Prozessoren verfügt, könnten das Rendering und die KI jeweils auf einem separaten Kern ausgeführt werden – eine ideale Situation für einen Mehrkernprozessor.

Ist 8 > 4 > 2?

Das Überschreiten von zwei Kernen bietet gemischte Vorteile, da die Antwort für jeden Computerkäufer von der Software abhängt, die er normalerweise verwendet. Viele Spieleklassiker bieten beispielsweise noch einen geringen Leistungsunterschied zwischen zwei und vier Kernen. Selbst moderne Spiele – von denen einige angeblich acht Kerne benötigen oder unterstützen – sind möglicherweise nicht besser als ein Sechs-Kern-Computer mit einem höhere Basistaktgeschwindigkeit, da die Effektivität des primären Threads die Effizienz von Multithreading bestimmt Leistung.

Auf der anderen Seite wird ein Videocodierprogramm, das Videos transcodiert, wahrscheinlich große Vorteile haben, da individuelles Frame-Rendering kann an verschiedene Kerne weitergegeben und dann von der. zu einem einzigen Stream zusammengefasst werden Software. Daher ist es noch vorteilhafter, acht Kerne zu haben als vier. Im Wesentlichen benötigt der primäre Thread keine vergleichsweise umfangreichen Ressourcen; Stattdessen kann es die harte Arbeit auf Tochter-Threads verteilen, die die Kerne des Prozessors maximieren.

Taktraten

Task-Manager zeigt CPU-Auslastung an

Im Allgemeinen bedeutet eine höhere Taktrate einen schnelleren Prozessor. Taktraten werden unklarer, wenn man die Geschwindigkeiten relativ zu mehreren Kernen betrachtet, da Prozessoren mehrere Daten verarbeiten Threads dank der zusätzlichen Kerne, aber jeder dieser Kerne wird aufgrund der thermischen Einschränkungen mit niedrigeren Geschwindigkeiten ausgeführt.

Ein Dual-Core-Prozessor kann beispielsweise Basistaktgeschwindigkeiten von 3,5 GHz für jeden Prozessor unterstützen, während ein Quad-Core-Prozessor möglicherweise läuft nur mit 3,0 GHz. Betrachtet man nur einen einzelnen Kern auf jedem von ihnen, ist der Dual-Core-Prozessor 14 Prozent schneller als auf dem vier Kern. Wenn Sie also ein Programm haben, das nur Single-Threaded ist, ist der Dual-Core-Prozessor tatsächlich effizienter. Wenn Ihre Software jedoch alle vier Prozessoren verwenden kann, ist der Quad-Core-Prozessor tatsächlich etwa 70 Prozent schneller als dieser Dual-Core-Prozessor.

Schlussfolgerungen

In den meisten Fällen ist ein Prozessor mit einer höheren Kernanzahl im Allgemeinen besser, wenn Sie Software und typische Anwendungsfälle unterstützen dies. In den meisten Fällen ist ein Dual-Core- oder Quad-Core-Prozessor mehr als genug Leistung für einen einfachen Computerbenutzer. Die Mehrheit der Verbraucher wird keine greifbaren Vorteile sehen, wenn sie über vier Prozessorkerne hinausgehen, da so wenig nicht spezialisierte Software davon profitiert. Der beste Anwendungsfall für Prozessoren mit hoher Kernanzahl bezieht sich auf Maschinen, die komplexe Aufgaben wie Desktop-Videobearbeitung, einige Formen von High-End-Spielen oder komplizierte naturwissenschaftliche und mathematische Programme ausführen.

Schauen Sie sich unsere Gedanken an Wie schnell benötige ich einen PC? um eine bessere Vorstellung davon zu bekommen, welcher Prozessortyp am besten zu Ihren Computeranforderungen passt.