Wie wirkt sich die CPU-Frequenz auf die Leistung aus?

6338
SkyRipper

Wie wirkt sich die CPU-Frequenz auf die Leistung aus? Wenn zwei CPUs mit derselben Architektur und unterschiedlichen Geschwindigkeiten vorhanden sind, wie werden sie funktionieren?

1) 8 Core-Ivy-Bridge-CPU bei 2,4
2) 8 Core-Ivy-Bridge-CPU bei 2,7

Wie kann ich den Leistungsunterschied mathematisch berechnen?

Man kann sagen: 2,7> 2,4 um 12%. Ist die CPU 2,4 GHz also um 12% langsamer als die 2,7-GHz?

1
frequency is only one factor of CPU performance. Yes the 2.7 GHz processor is "faster," but that doesnt mean every program run on it will be faster. Keltari vor 10 Jahren 0
A 2.7Ghz CPU is 11.111111111111111111111111111111% faster then a 2.4Ghz CPU. All this means is that a clock signal will be triggered 11.111111111111111111111111111111% as often. I am not going to attempt to calculate how many clock signals happen in a single minute but that would really give an indication. This does NOT mean the 2.7Ghz can perform 11.111111111111111111111111111111% additional x86 instructions. The only thing it means is that the clock signal happens 11.1% as often. Ramhound vor 10 Jahren 0

2 Antworten auf die Frage

2
davidgo

Im allgemeinen Fall können Sie die Leistung nicht anhand der Häufigkeit bestimmen. Wenn die CPUs aus der gleichen Familie stammen (nicht nur dieselbe Architektur) - damit meine ich, abgesehen von der Taktrate - in jeder Hinsicht identisch, dann ist die maximale Leistung des schnelleren Systems schneller, also in Ihrem Beispiel die MAXIMUM-Geschwindigkeit von Die CPU ist um 12% schneller.

Aber natürlich ist das nicht die ganze Geschichte. Die meisten Systeme werden durch andere Dinge als die CPU-Engpässe gestoppt. In diesem Fall führt eine schnellere CPU nicht zu einer erhöhten Leistung (z. B. wenn Sie auf eine Festplatte, ein Netzwerk oder eine Benutzereingabe warten).

Wenn sich die CPU nicht in derselben Zeile befindet, erhalten Sie am besten eine grobe Einschätzung der Leistung, indem Sie beim CPU-Benchmark nach "Passmark" suchen und darauf aufbauend berechnen. Dies ist sehr grob, aber eine bessere Methode, um die CPU zu vergleichen, sobald Sie wissen, wie Ihre Anwendung das Threading behandelt. Wenn Sie die CPU in der Intel Ark vergleichen, können Sie außerdem feststellen, ob sie in allen anderen Bereichen als der Taktfrequenz gleich sind. (Zum Beispiel durch die Anzeige verschiedener Befehlssätze, Cache usw.)

0
LawrenceC

Jeder CPU-Befehl benötigt mehrere Zyklen, um zu beenden. Die Zeit, die jeder Zyklus benötigt, ist 1 geteilt durch die CPU-Geschwindigkeit.

Es ist jedoch schwierig, dies linear mit der Leistung zu korrelieren, weil:

  • CPU-Anweisungen verbrauchen unter verschiedenen Bedingungen und wie sie verwendet werden, unterschiedliche Zyklen.

  • Moderne CPUs wurden lange Zeit "pipelined" und sind "superskalar" - im Wesentlichen pro Zyklus bedeutet, dass die CPU tatsächlich an mehreren Teilen mehrerer Anweisungen oder sogar an mehreren Anweisungen gleichzeitig arbeitet.

  • Beschleunigungsfunktionen, die den Befehlsstrom vor dem tatsächlichen Einsatz der CPU "vorladen", können sich auf die Leistung unmittelbar bevorstehender Befehle auswirken - z. B. Verzweigungsvorhersage und Umbenennen von Registern.

  • Moderne CPUs verfügen über einen Anweisungscache. Was sich im Cache befindet, beeinflusst die Leistung stark. Das Warten auf Anweisungen, die aus dem RAM geladen werden, erfordert im Vergleich zur CPU-Geschwindigkeit viele, viele Zyklen.

  • Moderne CPUs verfügen über einen Datencache. Anweisungen, die Speicher lesen / schreiben, was eine CPU häufig tut, werden in ähnlicher Weise vom Zustand dieses Caches stark beeinflusst.

Man kann sagen: 2,7> 2,4 um 12%. Ist die CPU 2,4 GHz also um 12% langsamer als die 2,7-GHz?

Man kann sagen, das ist technisch richtig - CPU A läuft 12% schneller als CPU B. Aber eine Steigerung der CPU-Geschwindigkeit um 12% (selbst wenn dieselbe Mikroarchitektur verwendet wird) führt nicht zu einer Steigerung der Ausführungsleistung von Code um 12%.