Warum ist ein Prozessor nicht schneller, je mehr Prozessorkerne er hat?

Wenn ein Prozessor mehrere Rechenkerne hat, dann sollte er doch auch um ein vielfaches schneller sein, als ein Prozessor mit nur einem Kern. Doch leider ist das nicht so. Woran liegt das? Warum ist ein Prozessor mit doppelt so vielen Kernen nicht doppelt so schnell?

Je mehr Rechenkerne, desto schneller ist der Prozessor kann leider nicht als Faustregel dienen. Der Grund: Mehrkern-Prozessoren können nur die Programme beschleunigen, die ihren Programmcode und ihre Berechnungen auf mehrere Prozessorkerne verteilen können. Bei vielen Alltagsanwendungen ist das nicht der Fall. Es gelingt nur, wenn eine Anwendung eine große und gut teilbare Datenmenge verarbeiten kann. Das ist zum Beispiel die Texterkennung, Bildbearbeitung, 3D-Berechnung, Video-Encoding und Datei-Komprimierung.
Zwei Kerne bringen oft einen Geschwindigkeitszuwachs. Zusätzliche Kerne aber kaum.

4 Gedanken zu „Warum ist ein Prozessor nicht schneller, je mehr Prozessorkerne er hat?

  1. Ich denke das ist so, weil viele Programme nur einen Kern verwenden können.
    Das Betriebssystem teilt die Anwendungen auf verschiedene Kerne auf. Das System wird zwar schneller, auf das Programm hat das aber kaum einen Einfluss.
    (Gilt natürlich nur wenn der Einkerner nicht völlig ausgelastet ist.)

    Ich glaube sogar wenn ein Programm zwei Kerne verwenden kann ist es trotzdem nicht doppelt so schnell oder?

    Ansonsten berichtigt mich einfach.

    MfG. Franz

  2. Bei einer Mehrkern CPU wird von beiden Kernen der Arbeitsspeicher genutzt, dadurch Engpässe beim schreiben/lesen des Arbeitspeichers.

    Auch die Anbindung an die Northbridge ist gemeinsam genutzt.

    Schlechtes CoreManagement des Betriebssystems kommt auch dazu. Welche Anwendung läuft auf welchen Kern…

    MFG Michael

  3. Der Michael hat schon die richtige Antwort geschrieben. Darüber hinaus gibt es aber noch eine ganze Menge Einheiten, die gemeinsam genutzt werden müssen. Wie schon der Name „Kern“ sagt, da gibt es noch vieles drum herum. Zwar hat jeder Kern seinen eigenen Cache, aber da wird trotzdem viel weggeworfen. Die Kerne können nur die einfachsten Operationen, die vollständig im innersten ablaufen, mit voller Geschwindigkeit abarbeiten.

    MfG.
    Wilfried

  4. Ich denke mal an die Programme. Welcher Compiler ist im Normalfall schon auf Mehrkernprozessing ausgelegt. Die Aufgaben in einem Programm sind meistens seriell angelegt und von der Logik her erfolgen sie auch nacheinander. Also können diese Programme auch nicht schneller laufen, trotz Mehrkern-CPU. Und selbst wenn, dann kann es sein, daß die Prozesse in den einzelnen Kernen aufeinander warten müssen, um das gesamte Programm weiter fortführen zu können, da sie auf die Ergebnisse des anderen Kernes angewiesen sind.

    MfG Ingo

Kommentare sind geschlossen.