Mehrkernprozessoren: Ist mehr immer besser?

Inhaltsverzeichnis:

Mehrkernprozessoren: Ist mehr immer besser?
Mehrkernprozessoren: Ist mehr immer besser?
Anonim

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

Multi-Core-Technologie-Fortschritte

Image
Image

Multiple-Core-Prozessoren sind seit den frühen 2000er Jahren in PCs erhältlich. Multi-Core-Designs befassten sich mit dem Problem, dass Prozessoren in Bezug auf ihre Taktgeschwindigkeiten und wie effektiv sie gekühlt werden konnten, um die Genauigkeit beizubeh alten, an die Grenze ihrer physikalischen Grenzen stießen. Durch die Umstellung auf zusätzliche Kerne auf einem einzigen Prozessorchip vermieden die Hersteller Probleme mit den Taktraten, indem sie die Datenmenge, die von der CPU verarbeitet werden konnte, effektiv vervielfachten.

Als sie ursprünglich veröffentlicht wurden, 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 das Betriebssystem sieht.

Prozesse und Threads

Ein Prozess ist eine bestimmte Aufgabe, wie ein Programm, das auf einem Computer läuft. Ein Prozess besteht aus einem oder mehreren Threads.

Ein Thread ist einfach ein einzelner Datenstrom von einem Programm, der durch den Prozessor auf dem Computer läuft. Jede Anwendung generiert ihren eigenen einen oder mehrere Threads, je nachdem, wie sie ausgeführt wird. Ohne Multitasking kann ein Single-Core-Prozessor jeweils nur einen Thread verarbeiten, sodass das System schnell zwischen den Threads umsch altet, 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 gleichzeitig Anwendungen ausgeführt werden, erheblich. Da auf Servern in der Regel viele Anwendungen gleichzeitig ausgeführt werden, wurde die Technologie ursprünglich für Unternehmenskunden entwickelt – aber als PCs komplexer wurden und Multitasking zunahm, profitierten auch sie von zusätzlichen Kernen.

Jeder Prozess wird jedoch von einem primären Thread gesteuert, der nur einen einzigen Kern belegen kann. Daher ist die relative Geschwindigkeit eines Programms wie eines Spiels oder eines Video-Renderers stark auf die Leistungsfähigkeit des Kerns beschränkt, den der primäre Thread verbraucht. Der Primär-Thread kann durchaus Sekundär-Threads an andere Kerne delegieren – ein Spiel wird aber nicht doppelt so schnell, wenn man die Kerne verdoppelt. Daher ist es nicht ungewöhnlich, dass ein Spiel einen Kern (den primären Thread) vollständig auslastet, andere Kerne jedoch nur teilweise für sekundäre Threads verwendet werden. Keine noch so große Kernverdopplung kommt um die Tatsache herum, dass der primäre Kern ein Ratenbegrenzer für Ihre Anwendung ist und Apps, die für diese Architektur empfindlich sind, eine bessere Leistung erbringen als Apps, die dies nicht sind.

Software-Abhängigkeit

Während das Konzept der Mehrkernprozessoren ansprechend klingt, gibt es bei dieser Technologie einen großen Vorbeh alt. Damit die wahren Vorteile der mehreren Prozessoren genutzt werden können, muss die auf dem Computer laufende 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. Wenn es schließlich nur auf einem einzelnen Kern in einem Quad-Core-Prozessor ausgeführt werden kann, ist es möglicherweise tatsächlich schneller, es auf einem Dual-Core-Prozessor mit höheren Basistaktraten auszuführen.

Alle gängigen Betriebssysteme unterstützen Multithreading. Aber auch das Multithreading muss 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 einfache Programme ist die Multithreading-Unterstützung aufgrund der Komplexität des Softwareaufbaus immer noch nicht implementiert. Beispielsweise wird ein Mailprogramm oder Webbrowser wahrscheinlich nicht so große Vorteile in Multithreading sehen wie ein Grafik- oder Videobearbeitungsprogramm, bei dem der Computer komplexe Berechnungen durchführt.

Ein gutes Beispiel, um diese Tendenz zu erklären, ist ein typisches Computerspiel. Die meisten Spiele erfordern eine Form von 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 Tasks ausgeführt, indem zwischen ihnen umgesch altet wird. Dieser Ansatz ist nicht effizient. Wenn das System über mehrere Prozessoren verfügte, 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 einen bestimmten Computerkäufer von der Software abhängt, die er oder sie normalerweise verwendet. Viele Spieleklassiker bieten zum Beispiel noch immer kaum Leistungsunterschiede 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 eine Maschine mit sechs Kernen und einer höheren Basistaktrate, da die Effektivität des primären Threads die Effizienz der Multithread-Leistung bestimmt.

Auf der anderen Seite wird ein Videokodierungsprogramm, das Videos transkodiert, wahrscheinlich enorme Vorteile sehen, da das Rendern einzelner Frames an verschiedene Kerne weitergegeben und dann von der Software zu einem einzigen Stream zusammengeführt werden kann. Acht Kerne sind also noch vorteilhafter als vier. Im Wesentlichen benötigt der primäre Thread keine vergleichsweise reichh altigen Ressourcen; Stattdessen kann es die harte Arbeit an untergeordnete Threads auslagern, die die Prozessorkerne maximal auslasten.

Taktraten

Image
Image

Im Allgemeinen bedeutet eine höhere Taktrate einen schnelleren Prozessor. Die Taktraten werden nebulöser, wenn Sie die Geschwindigkeiten im Verhältnis zu mehreren Kernen betrachten, da Prozessoren dank der zusätzlichen Kerne mehrere Datenthreads verarbeiten, aber jeder dieser Kerne aufgrund der thermischen Einschränkungen mit niedrigeren Geschwindigkeiten läuft.

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

Schlussfolgerungen

In den meisten Fällen ist es besser, einen Prozessor mit höherer Kernanzahl zu haben, wenn Ihre Software und typische Anwendungsfälle dies unterstützen. 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 darin sehen, über vier Prozessorkerne hinauszugehen, weil so wenig nicht spezialisierte Software davon profitiert. Der beste Anwendungsfall für Prozessoren mit hoher Kernzahl bezieht sich auf Maschinen, die komplexe Aufgaben wie Desktop-Videobearbeitung, einige Formen von High-End-Spielen oder komplizierte Wissenschafts- und Mathematikprogramme ausführen.

Sehen Sie sich unsere Gedanken zum Thema „Wie schnell brauche ich einen PC?“an. um eine bessere Vorstellung davon zu bekommen, welcher Prozessortyp am besten zu Ihren Computeranforderungen passt.

Empfohlen: