Robert G.: warum "Mehrkern CPU" statt "mehrere eigenständige CPU's"

Hallo,

bei der heutigen Entwicklung ist es ja so, dass die CPU's im allgemeinen mehr als einen Kern haben.

Warum macht man denn eine CPU mit mehreren Kernen statt herzugehen und einfach mehrere CPU's mit einem Kern auf ein Mainboard zu klatschen?

  1. Tach,

    Warum macht man denn eine CPU mit mehreren Kernen statt herzugehen und einfach mehrere CPU's mit einem Kern auf ein Mainboard zu klatschen?

    weil man so gewisse Dinge teilen kann z.B. Cache, Leitungen zur Anbindung von Peripherie und Speicher etc.

    mfg
    Woodfighter

    1. weil man so gewisse Dinge teilen kann z.B. Cache, Leitungen zur Anbindung von Peripherie und Speicher etc.

      Das ist nicht der Grund: Cache und Bussysteme werden auch bei Systemen mit mehreren CPUs geteilt.

      Es geht einzig und allein darum die signalwege kurz zu halten - darum wird auch zunehmend Zeug direkt in den Die der CPU oder zumindest auf denselben Carrier verfrachtet: Speichercontroller, GPU, die komplette Northbridge ...

      Das macht das Ding zwar komplexer und Fehleranfällig, führt aber in Summe zu weniger Verlustleistung und daraus resultiert eine höhere Taktfreqenz bei derselben Achitektur oder mehr Lagen/Schichen bei derselben Taktfreqenz ohne thermische Probleme zu bekommen.

      1. Tach,

        Das ist nicht der Grund: Cache und Bussysteme werden auch bei Systemen mit mehreren CPUs geteilt.

        welche CPUs haben denn noch Cache, der extern liegt?

        mfg
        Woodfighter

        1. Das ist nicht der Grund: Cache und Bussysteme werden auch bei Systemen mit mehreren CPUs geteilt.

          welche CPUs haben denn noch Cache, der extern liegt?

          Mit ist keine bekannt - aber dass der Cache auf denselben Die gewandert ist hängt ebenfalls mit den Signalwegen zusammen, nicht damit dass er durch mehrere CPUs geteilt wird. Das ist schon wesentlich länger her.

          Zudem: eine Multi-Core-CPU teilt sich mitnichten den vollständigen Cache, L1 und L2 sind gehören idR. dem Core allein - bei den ersten zusammengeklebten Core-2-Duo-CPUs (Quad-Core) hatten übrigens alle noch gar keinen geteilten Cache - das waren einzelkämpfer.

          Die On-Die L3-Caches kamen (im Consumer-Markt) erst weitaus später dazu.

  2. Warum macht man denn eine CPU mit mehreren Kernen statt herzugehen und einfach mehrere CPU's mit einem Kern auf ein Mainboard zu klatschen?

    Weil die Signalwege _wesentlich_ kürzer sind.

    Dazu interessiert dich sicher auch dieser Thread:
    https://forum.selfhtml.org/?t=201975&m=1363405

    1. Warum macht man denn eine CPU mit mehreren Kernen statt herzugehen und einfach mehrere CPU's mit einem Kern auf ein Mainboard zu klatschen?

      Weil die Signalwege _wesentlich_ kürzer sind.

      Dazu interessiert dich sicher auch dieser Thread:
      https://forum.selfhtml.org/?t=201975&m=1363405

      Warum haben dann Großrechner mehrere CPU's und verwenden nicht auch Mehrkern Technologie?

      1. Warum haben dann Großrechner mehrere CPU's und verwenden nicht auch Mehrkern Technologie?

        Großrechner haben beides - einerseits haben sie Mehrkern-CPUs, andererseits mehrere davon und weiters ist ein "Großrechner" nicht ein einzelner Rechnern sondern ein Verbund aus mehreren Rechnern (Cluster).

        Bei einem modernen Großrechner sieht das aktuell so aus (Beispiel)

        4 Physische Prozessoren mit je 6 Kernen pro Rechner. Von diesen stehen dann 100 Stück herum - macht in Summe 2400 CPU-Kerne.

        Der Grund dafür ist schlichtweg produktionsbedingt, einerseits ist die Wafer-Größe begrenzt - da hat nur eine bestimmte Anzahl an CPUs platz. Andererseits ist bereits aufwändig genug einen einezelnen Die zu fertigen der 6 funktionstüchtige Kerne hat.

        Natürlich müsste die Dinger auch jemand designen - die Kerne müssen auch miteinander reden können. Nicht jedes Design lässt sich 1:1 skalieren - eigentlich ist das mit den wenigsten möglich. Man kann nicht einfach das Design eines 6-Kern-Prozessors spiegeln und hat plötzlich 12[1].

        Ein Supercomputer ist auch nicht Linear schneller als ein einzelner Rechner er macht nur mehrere Sachen gleichzeitig auf verschiedenen Rechnern. Dafür barucht man aber spezielle Software die die Aufgaben vorher an die Rechner Cluster verteilt. Bei progessiven Aufgaben (wo die nächste Berechung das Ergebnis der vorherigen benötigt) ist ein Supercomputer genauso langsam wie eine besser Workstation - die Dinger sind nur schnell, wenn man parallel arbeiten kann. z.B. bei Wettersimlationen wo man tausende Male dasselbe berechnent und nur die ausgangsvariablen Winzig ändern.

        [1] Ja, mir ist klar, dass das in der Praxis doch gemacht wird, aber die CPU-Designs sind so gebaut, dass sie in einem gewissen Rahmen wiederverwendbar sind.