Was bringen einem viele Kerne bei einem Prozessor?

8 Antworten

Von Experte Krabat693 bestätigt

Jeder Kern kann zur selben Zeit immer nur eine Aktion durchführen (Ich lasse die Pipelines und spezielle Beschleuniger für bestimmte Operationen mal weg).

Wenn du mehr Kerne hast, können parallel mehrere Aufgaben ausgeführt werden.

Damit das sinnvoll nutzbar ist, müssen die Programme aber auch so geschrieben sein, dass sie Nutzen daraus ziehen können, also Operationen parallel durchführen - bspw. ein Thread rechnet etwas, der zweite Thread erstellt eine Grafik usw.. Das ist bei Spielen bspw. selten der Fall, sodass hier mehr Kerne wenig bringen, sondern eher die Leistung pro Kern von Bedeutung ist. (Und natürlich die GPU.)

Verschiedene Programme können aber in jedem Fall parallel laufen - oder eben nicht, wenn zu wenige Kerne vorhanden sind. Dann sind die Programme auf der Warteliste und der Kernel des Betriebssystems lässt die nacheinander (priorisiert) an die Reihe kommen. Das verlangsamt natürlich extrem das komplette System, wenn das notwendig ist.

Alle Kerne greifen aber auf denselben RAM-Speicher und dieselben Festspeicher zu und haben oftmals denselben Cache. D.h. nur die Anzahl an Prozessor-Kernen alleine ist nicht bestimmend für die Geschwindigkeit.

Für das meiste reicht heutzutage eine 4-Kern-CPU locker aus (unter Linux zumindest). Erst wenn es um Rendering oder große Rechenoperationen geht oder wenn ein Server viele Anfragen gleichzeitig verarbeiten soll, werden viele Kerne (>10) interessant.


IchDirk  16.04.2025, 10:55

Aber die Programme müssen das doch auch unterstützen und benutzen oder wird das vom Prozessor selber "verwaltet" und auf die freien Kerne verteilt??

julihan41  16.04.2025, 11:01
@IchDirk

Weder noch und beides xD

Also ein Programm muss mehrere Threads unterstützen, damit es von mehr Kernen Gebrauch machen kann. Das ist jetzt etwas komplex, um das in zwei Zeilen zu schreiben, aber um das bildlich zu machen:

Du kannst dir das wie in einem Büro vorstellen, bei dem ein Mitarbeiter vs. mehrere Mitarbeitende an einem Projekt arbeiten.

In letzterem Fall müssen die Mitarbeitenden miteinander reden (-> Daten austauschen) und auch mal aufeinander warten, bis der andere eine Aufgabe abgeschlossen hat und mit den Daten raus rücken kann. Prinzipiell können sie aber mehr schaffen als ein einziger Mitarbeitender.

Dann braucht es aber auch einen "Vorgesetzten" (üblicherweise der Kernel des Betriebssystems), der die Mitarbeitenden einteilt auf die Projekte und diesen einen Arbeitsplatz zuweist (=Kern) und diesen einen Kommunikationsweg zur Verfügung stellt. Im dümmsten Fall arbeiten zwei Mitarbeitende (=Programme oder Threads) an einem Arbeitsplatz und müssen sich Stuhl, Tisch etc. teilen.

Heutige CPU-Kerne machen die Aufteilung und Umsortierung von Aktionen teilweise von alleine, sodass diese "optimaler" laufen. Das habe ich nur mal grob gelesen, aber wenn dich das interessiert, studiere Informatik an einer Universität und spezialisiere dich in den Bereich CPU-Architektur. 😅

IchDirk  16.04.2025, 11:04
@julihan41

Herzlichen Dank für Deine Zeit, die Frage zu beantworten, DANKE - hätte Dir gern ZWEI Daumen dafür hoch gegeben - vielleicht drückt ein Anderer ja mal für MICH 👍👍😁

Kerne bei der CPU sind halt wie Zylinder beim Automotor... Grob gesagt mehr Kerne = mehr Leistung. Aber die Kerne sind nicht immer gleich.

1x moderner Kern kann zum Beispiel mehr Leistung bringen als 2 - 4 alte Kerne. Das hat dann mit erhöhtem Takt, smarterem Design und besseren Beschleunigern zu tun.

Durchschnittlich werden Kerne bei jeder neuen Generation um ca. 20 % schneller und die CPUs bekommen dann auch oftmals mehr davon jede 5 Generationen oder so.

Woher ich das weiß:eigene Erfahrung – Selbsternannter Professioneller PC Experte Prof. Großmeister

LooseGravel  16.04.2025, 10:52

Und wie bei einem Motor nutzen die 16 Zylinder/Kerne nichts, wenn du nur 4 Zylinder verwendest, weil dein Programm nicht mehr kann. Die restlichen tun dann einfach nichts.

Im Taskmanager in der CPU Grafik sieht man das schön (Anzeige auf logische Prozessoren einstellen)

Jeder Kern fungiert wie ein einzelner Prozessor. Mit 4 x 3 GHz hast Du entsprechend mehr Rechenleistung als mit einem oder zwei Kernen.

Vorab: Ich mache es jetzt sehr vereinfacht. Das Thema ist aber deutlich komplexer.

Jeder Kern kann für sich allein, parallel zu den anderen rechnen. Das heißt also, ein Prozessor mit mehr Kernen ist grundsätzlich leistungsfähiger, weil er in der gleichen Zeit mehr Operationen vornehmen kann. Vereinfacht gesagt hat er damit mehr Leistung.

Das ist aber keine lineare Funktion und nicht proportional, d.h. 4 Kerne sind nicht automatisch doppelt so leistungsstark wie 2 Kerne.

Vor allem 20 Kerne sind nicht 5 Mal so stark wie 4, denn der Prozessor hat ja nicht per se mehr Rechenleistung, sondern kann seine Aufgaben besser parallel abarbeiten. Er muss aber überhaupt erstmal parallelisieren können und am Ende auch wieder seine Ergebnisse zusammen bringen. Daher bringen dem Ottonormalverbraucher 20 Kerne auch keinen Gewinn mehr, bezieht man die höheren Kosten mit ein, ist das ein klares Minusgeschäft, da man viel Geld für wenig Leistungsgewinn ausgeben würde.

Noch eine Randnotiz: Durch Multi-/Hyperthreading kann ein Prozessor seine Kerne auch nochmal in logische Kerne einteilen, das heißt z.B. jeder Kern kann nochmal in zwei logische Kerne eingeteilt werden. So wird aus einem physischen 4-Kerner ein logischer 8-Kerner. Auch hier gibt es natürlich die Grenzen, die ich schon erläutert hatte.

Woher ich das weiß:Studium / Ausbildung – Bachelor of Science in Informatik

julihan41  16.04.2025, 10:52
Durch Multi-/Hyperthreading kann ein Prozessor seine Kerne auch nochmal in logische Kerne einteilen,

Ich habe neulich erst in einem Artikel gelesen, dass in den neusten CPUs Hyperthreading abgeschaltet wird, da es mittlerweile kaum (für Endnutzer bemerkbare) Leistungssteigerung bringt, auf der anderen Seite aber viele Probleme wie die "Spectre"-Angriffsvektoren.

Habe ich das so richtig verstanden? Weißt du da was?

TechnikSpezi  16.04.2025, 11:28
@julihan41

Da bin ich nicht auf dem aktuellsten Stand um ehrlich zu sein. Vorstellbar ist es aber auf jeden Fall. Es kommt aber wie immer auf den Fall an.

Multithreading ist vor allem für Rendering und 3D-Grafiken immer noch sehr hilfreich, aber für einen Office-PC halt nicht wirklich wichtig.

das kannst du dir wie Köche in der Küche vorstellen.

Je mehr Köche du hast, desto besser flutscht die Arbeit. bei 8 Köchen gleichzeitig da macht der eine die Suppe, der andere den Braten und der andere den Nachtisch, einer schüält die Kartoffeln und der ander spült ab. Die Bestellung für Pommes geht natürlich nicht schnelelr aber das ganze Menü ist schneller auf dem Tisch.

Bei einem PC kannst du dann zum Beispiel mehr Programme GLEICHZEITIG benutzen. Auch bestimmte Rechenintensive Anwendungen gehen schneller.