
Mögliches Duplikat:
Wie schnell ist jeder Kern in einem Dual-Core-Prozessor?
Ich überlege (der Einfachheit halber) zwischen zwei Systemen:
(1)2,9 GHz Dual-Core-Prozessor
(2)2,3 GHz Quad-Core-Prozessor
Wenn ich darüber nachdenke, habe ich einige konkrete Fragen, die ich gern beantworten würde.
Erstens, wie werden die „Zahlen“ (die Frequenzen) wirklich berechnet und was bedeuten sie? Bedeutet das für den 2,9 GHz Dual-Core, dass jeder Kern mit etwa 2,9 GHz getaktet ist oder bedeutet das, dass jeder Kern mit 2,9/2 = 1,45 GHz getaktet ist? Ergibt der Quad-Core in gleicher Weise eine „Netto“-Geschwindigkeit von 2,3 GHz oder ist jeder Kernbuchstäblichmit 2,3 GHz laufen?
Aus dem, was ich online gelesen habe, schließe ich, dass jeder Kern tatsächlich mit der angegebenen Geschwindigkeit läuft (ich weiß, dass man aus einem Quad-Core-3-GHz-System keine 12 GHz herausholen kann, es sei denn, der Code ist hinsichtlich der Parallelisierung perfekt linear).
Meine andere Frage ist: Angenommen, Sie haben Code, der rein parallel ausgeführt wird. Ab wann ermöglicht ein zusätzlicher Kern, dass der Code schneller läuft, einfach weil es weniger Störungen durch das Betriebssystem (und andere Hintergrundaufgaben) gibt?
Wenn ich beispielsweise die Wahl zwischen 2,6 GHz Dual Core oder 2,5 GHz Quad Core hätte, selbst füreinzelBei Thread-Programmen würde ich annehmen, dass der 2,5-Quad-Core schneller laufen würde, da der einzelne Thread weniger durch andere Programme (einschließlich des Betriebssystems) unterbrochen wird.
Antwort1
Bedeutet das beim 2,9 GHz Dual-Core, dass jeder Kern mit etwa 2,9 GHz getaktet ist oder dass jeder Kern mit 2,9/2 = 1,45 GHz getaktet ist? Ergibt der Quad-Core in gleicher Weise eine Nettogeschwindigkeit von 2,3 GHz oder läuft jeder Kern buchstäblich mit 2,3 GHz?
Du wirst niemals, niemals,immeraddieren Sie auf diese Weise Geschwindigkeiten. Zwei Autos, die jeweils 50 Meilen pro Stunde fahren, bringen nichts auf 100 Meilen pro Stunde, Punkt. Wenn die CPU eine Kerngeschwindigkeit von 2,9 GHz hat, bedeutet das, dass Sie sie mit 2,9 GHz takten können, das heißt, ihre Taktung kann 2,9 Milliarden Mal pro Sekunde laufen.
Wenn ich beispielsweise die Wahl zwischen einem 2,6-GHz-Dual-Core und einem 2,5-GHz-Quad-Core hätte, würde ich sogar bei Single-Thread-Programmen davon ausgehen, dass der 2,5-GHz-Quad-Core schneller wäre, da der Single-Thread weniger durch andere Programme (einschließlich des Betriebssystems) unterbrochen wird.
Das ist eine unsinnige Frage. Man kann unterschiedliche CPUs nicht anhand ihrer Taktfrequenz vergleichen. Das ist, als würde man sagen: „Sie haben ein Auto mit einem 10-Gallonen-Tank und eines mit einem 12-Gallonen-Tank. Welches kommt mit einer Tankfüllung weiter?“ Nun, es hängt davon ab, wie viel sie wiegen, wie groß ihre Motoren sind und so weiter.
Vergleichen Sie CPUs niemals anhand ihrer Taktfrequenz, es sei denn, sie sind ansonsten identisch. Und natürlich sind ein Dual-Core und ein Quad-Core sehr unterschiedlich.
Wenn Sie sich zwei CPUs vorstellen, die sich nur dadurch unterscheiden, dass eine ein 2,6 GHz Dual-Core und die andere ein 2,5 GHz Quad-Core ist, wird es wahrscheinlich keinen signifikanten Unterschied geben, wenn ein Single-Thread-Programm ausgeführt wird, vorausgesetzt, das System ist nicht stark durch andere Programme belastet. Es ist sehr unwahrscheinlich, dass der Betriebssystem-Overhead einen Kern überlastet, und in beiden Fällen haben Sie mindestens einen Kern für Betriebssystemaufgaben wie Festplatten-E/A und Interrupts zur Verfügung. Wenn der begrenzende Faktor beispielsweise die Speicherbandbreite ist, helfen mehr Kerne nicht.
Allerdings sind mehr Kerne fast immer besser als weniger Kerne, wenn alle anderen Bedingungen gleich sind. Für einen Desktop-Rechner sehe ich keinen Sinn in einem Dual-Core. Und in Zukunft werden immer mehr Programme wissen, wie sie mehr Kerne nutzen können.