Xes schrieb:
Schon ein alter Test, zeigt es aber trotzdem mal grob auf:
https://www.computerbase.de/2018-04...chnitt_coffee_lakeh_vs_kaby_lakeh_vs_skylakeh
Das ist physikalisch bedingt. Die Spannung geht quadratisch in den Verbrauch ein.
Beispiel:
Wenn ich für 10% mehr Takt 20% mehr Spannung brauche, verbraucht die CPU alleine durch die höhere Spannung schon grob 44% mehr (durch den höheren Takt noch mal 10%). Das sind dann für 10% mehr Takt fast 60% mehr Verbrauch. Natürlich ist das eine grobe Rechnung und es gibt noch andere Faktoren (sweet spot, Mindestspannung,...), die da mit rein fließen. Aber warum werden wohl überall mehr Kerne eingebaut?
Bei Lasten, die nicht alle Kerne auslasten können, werden die inaktiven Kerne schlafen gelegt. Per Clock Gating und Co. sinkt deren Verbrauch quasi gegen 0. Aber da bringen einem die mehr Kerne natürlich nichts, das ist klar. Alleine Windows, der Virenscanner und dann vielleicht noch eine Anwendung, in der man tatsächlich was tut und schon hat man zig threads, die laufen. Mein Taskmanager sagt z.B. gerade 244 Prozesse, und grob 3800 Threads, und ich habe nicht viel offen. Da lässt sich genügend auf die Kerne verteilen.
Die Taktraten bei x64 können extrem unterschiedlich sein. Idle nur wenige hundert MHz, Boost bis 4GHz, die Spannung dann entsprechend niedrig oder hoch, damit das Signal noch sauber durch kommt aber der Verbrauch minimal ist... Da bringt einem bigLittle nicht so viel, vor allem, weil bei wenig CPU Last meist andere Komponenten mehr verbrauchen als die CPU selbst.
WinnieW2 schrieb:
Ja, wenn man die dazu passende Software hat. Nur ist es im PC-Bereich bis auf wenige Ausnahmen so dass Software besser mit dem Takt skaliert als mit mehr Rechenkernen.
Und da gibt es ja auch noch das Gesetz von Amdahl. Die Rechenleistung steigt nicht proportional mit der Anzahl der CPU-Kerne.
Windows selber benutzt oft nur ein oder zwei Kerne gleichzeitig, bis auf wenige Ausnahmen, wie z.B. während Systemupdates.
Jede "Software" skaliert vermutlich besser mit dem Takt als mit den Kernen. Aber man hat nicht nur eine Software auf dem PC laufen. Alleine Windows hat zig Dienste, die alle parallel laufen, siehe oben. Es ist eben nicht nur ein einzelner Thread für einen Kern, sondern tausende gleichzeitig. Von denen schlafen natürlich viele, aber nicht alle. Und bezüglich höherem Takt habe ich ja schon oben geschrieben. Höherer Takt bedingt in der Regel auch höhere Spannung, was den Verbrauch deutlich erhöht. Das sieht man doch aktuell schön an den Ryzens, wenn man die über grob 4,5GHz haben will, muss man ordentlich Spannung geben und der Verbrauch steigt massiv (doppelter Verbrauch für ein paar MHz; ist bei Intel nicht wirklich anders, nur halt bei etwas höherem Takt).
Anandtech hat hier einen sehr interessanten Artikel über TR3000 geschrieben, in dem man den Verbrauch der Zen2 Kerne mal gemessen hat. Für 4,5GHz war man bei grob 13W Verbrauch, bei 4GHz waren es etwa 6W. Im Endeffekt kann man also 2 Kerne mit 4GHz laufen lassen und verbraucht so viel wie ein Kern auf 4,5GHz.
Und hat man wirklich mal nur einen Thread, dann werden eben alle anderen Kerne schlafen gelegt. In dem Fall wäre tatsächlich ein Prozessor mit nur einem Kern etwas effizienter, aber der Fall tritt fast nie auf.