kostenloser Webspace werbefrei: lima-city


CPU-Leistung: Single- vs. Dual- vs. Quad-Core

lima-cityForumHeim-PCHardware

  1. Autor dieses Themas

    werbeparadise

    werbeparadise hat kostenlosen Webspace.

    Hallo liebe Community!

    Was ich mich schon länger frage, ist, welche Prozessor-Art besser ist. Single-Core, Dual-Core oder Quad-Core? Klar, ein Single-Core ist schlechter als ein Dual-Core und ein Dual-Core ist schlechter als ein Quad-Core.

    Warum ist das so?

    Angenommen ich habe jeweils eine CPU mit 3 GHz.

    Warum ist ein Single-Core (3 GHz) schlechter als ein Dual-Core (3 GHz) und warum ist der Dual-Core (3 GHz) schlechter als ein Quad-Core (3 GHz)?

    Ich weiß zwar, dass Programme die Leistung auf mehrere Kerne verteilen.

    Aber angenommen ich habe ein Programm, welches 6 (unrealistische) GHz hat.

    Da würde ja der Single- und Dual-Core ausscheiden.

    Würde auch der Quad-Core (pro Kern 3 GHz) ausscheiden? Bzw. könnte ich theoretisch meine CPU aufrüsten auf einen Octa-Core (8-Kerner) mit wieder 3 GHz? Würden dann Programme mit den (unrealistischen) 6 GHz laufen? Nein, oder?

    Also müsste ich, um das (unrealistische) 6 GHz Programm zum laufen zu bringen, meinen Prozessor auf ungefähr 8 GHz aufrüsten? Oder ist die Anzahl der Kerne entscheidend? Umso mehr Kerne die haben, umso weniger Leistung braucht ein Kern?

    Also um das (unrealistische) 6 GHz Programm zum laufen zu bringen, bräuchte ich z.B. bei einem Dodeca-Core (12-Kerner) nur noch 1.5 GHz pro Kern?

    Ich hoffe, dass ihr mir weiterhelfen könnt ;-)
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Zuerst einmal solltest du dir, um das mit den GHz zu verstehen, das hier ansehen: *klick*.

    Und dann folgende Überlegungen:
    Angenommen du hast ein Programm, bei welchem du folgende Berechnung ausführen willst:
    Formel: x = (a + 1) \cdot b - (c - 3) / 5
    Jetzt könntest du das auf einer RISC-Maschine folgendermaßen ausführen:
    t3 = c - 3
    t1 = a + 1
    t4 = t3 / 5
    t2 = t1 * b
    x = t2 - t4
    Das würde 5 Schritte benötigen. Natürlich könnte man das jetzt auch noch umsortieren, z.B. so, und würde das selbe Ergebnis erhalten:
    t1  =a + 1
    t2 = t1 * b
    t3 = c - 3
    t4 = t3 / 5
    x = t2 - t4
    Und wieder werden 5 Schritte benötigt. Du kannst feststellen, dass du das auf so einer Maschine nicht schneller hinbekommst, da Berechnungen von den Ergebnissen anderer Berechnungen abhängen. Wenn du dir das nun als Baum aufzeichnest, also all diese Daten-Abhängigkeiten, dann wirst du sehen, dass grundsätzlich folgendes gleichzeitig passieren könnte:
    t1 = a + 1;  t3 = c - 3
    t2 = t1 * b; t4 = t3 / 5
    x = t2 - t4
    Das würde nur noch 3 Schritte benötigen, und je 2 Operationen gleichzeitig ausführen. Du kannst aber auch sehen, dass es nicht möglich wäre, durch einen 3. Prozessor das noch weiter zu beschleunigen, da bereits alles, was parallel ausgeführt werden kann, auch parallel ausgeführt wird.

    Auf dein Problem übertragen: nur weil du einen Prozessor dazu gibst heißt das noch lange nicht, dass dieser auch genutzt werden kann. Von daher muss ein Prozessor mit mehr Kernen nicht besser als einer mit weniger Kernen sein.

    Es gibt aber noch mehr Dinge, die zu beachten sind:
    Wenn du dir heute einen Intel-Prozessor mit 18 Kernen kaufst, dann hat dieser typischerweise eine Clock von ~2.5 GHz. Da die Architektur mit den restlichen Prozessoren aus dieser Reihe vergleichbar ist, wirst du dir schon die Frage stellen: warum ist dann ein 4-Kern-Prozessor plötzlich 3.6 GHz schnell? Das liegt beispielsweise an der Abwärme, die jeder einzelne Kern produziert. Deshalb kann der 4-Kern-Prozessor pro Kern mehr Abwärme produzieren als der mit 18 Kernen, weshalb der mit 4 Kernen schneller laufen kann und somit pro Kern eine höhere Performance erzielen (warum? Weil insgesamt nicht mehr als x Watt Abwärme produziert werden können, um den Chip nicht zu beschädigen).
    Wenn deine Arbeitslast also immer nur genau einen Kern nutzen kann, bist du mit einem Prozessor mit wenigen, aber schnellen Kernen besser dran, als mit einem mit vielen langsameren.

    Umgekehrt gibt es aber auch Anwendungen, die von sehr vielen Kernen profitieren können. Ein Beispiel wäre Grafik-Verarbeitung, andere Beispiele wären maschinelles Lernen oder eine Webseite mit vielen tausend gleichzeitigen Anfragen. In diesen Fällen ist es möglich, das Programm auf mehrere Kerne zu verteilen, sodass diese Kerne auch ausgenutzt werden können. Wenn dann mehr Kerne vorhanden sind, kann mehr gleichzeitig ausgeführt werden, und insgesamt wird das System schneller, obwohl jeder einzelne Kern eventuell deutlich langsamer ist, als auf einem System mit wenigen Kernen. Sieh dir hier beispielsweise 3D-Grafik-Rendering an (also z.B. in 3D-Egoshootern): Grundsätzlich könnte hier jedes einzelne Pixel gleichzeitig berechnet werden, und dann wäre bereits nach einem Schritt das gesamte Bild fertig. Allgemeiner beim rendern von Filmen wird man das Bild in kleine Kacheln unterteilen und all diese Kacheln (die ja von einander unabhängig sind) gleichzeitig berechnen. Das funktioniert aber nur, weil diese Einzelteile des Bildes von einander unabhängig sind.

    Zusammenfassend: es gibt kein allgemein gültiges »Octa-Core ist besser als Quad-Core« o.ä., sondern das muss für jeden Einzelfall betrachtet werden, denn in jedem Einzelfall kann das anders sein. Du hast hingegen angenommen gehabt, dass jedes Programm immer vollständig parallelisiert werden kann, was nicht der Fall ist.

    Hoffentlich reicht dir das als Erklärung …

    Beitrag zuletzt geändert: 21.11.2015 15:50:04 von hackyourlife
  4. Nicht nur die GHz und die Kerne sind wichtig!

    Weitere wichtige Faktoren:
    * Cache-Speichers des Prozessors --- beschleunigt die Arbeit des Hauptprozessors
    * Frontside-Bus Geschwindigkeit der Prozessoren (MT/s)

    Wer einfach einen guten Processor sucht kann sich mit einen Benchmark-Vergleich helfen
    In einer Suchmaschine den Namen des Prozessors und dann "benchmark" eingeben:
    Zb.: i7-4770K benchmark

    Eine gute Vergleichsseite die dann gefunden wird ist: www.cpubenchmark.net
    Mit der Zahl "Average CPU Mark" kann man Prozessoren vergleichen (höher ist besser)!

    Beitrag zuletzt geändert: 25.12.2015 10:32:58 von maxplus
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!