Prozessor, Takt, Kerne, Leistung
ein vierkernprozessor mit 4x300Mhz ergibt doch 12Ghz,
zumindestens wäre das die einfachste art zu rechnen wie viel
hz ein Mehrkernprozessor hat
könnte mir dann jemand mal sagen wie man dann richtig rechnet?
Okay, erstmal ein paar Grundaussagen:
a) Takt ist nicht gleich Leistung.
Über den Takt kann man nur die Leistung von zwei baugleichen Prozessoren vergleichen, nie verschiedene Prozessormodelle.
Die Leistung ergibt sich aus Arbeit x Zeit - also wie oft arbeitet ein Prozessor und wieviel Arbeit verrichtet er dabei jedesmal.
Der Takt sagt nur aus, wie oft ein Prozessor arbeitet. Wie viel Arbeit er dabei jedesmal verrichtet, ist eine Frage der Prozessorarchitektur und wird über den Parameter IPC (Instruktionen pro Takt) angegeben.
Beispiel: Mann holt Kohlen aus dem Keller - er kann in einer Stunde hundertmal in den Keller rennen und jedesmal eine Kohle hochtragen (hoher Takt, schlechte IPC) oder nur einmal laufen und dafür gleich den ganzen Sack mit 100 Kohlen hochtragen (geringer Takt, hohe IPC).
Erst das Produkt aus ICP und Takt ist die Leistung. Wenn man Prozessordesign/ IPC nicht kennt, kann man aus der Taktrate daher nicht die Leistung eines Prozessors ableiten. Diese wird in IPS (abgearbeitete Anweisungen je Sekunde) angegeben und man muss sie messen. Dafür gibt es sog. Benchmark-Programme.
b) Mehrere Kerne bringen nur dann mehr, wenn die Software sie benutzt.
Die Rechnung 4 x 3 GHz = 12 GHz ist erstmal total sinnlos, weil GHz eine Taktrate (Arbeitsgeschwindigkeit) und keine Leistung ist. Es wäre dieselbe Aussage, wie: Ein Auto mit 4 Rädern und einer Höchstgeschwindigkeit von 250 km/h fährt 4 x 250 = 1000 km/h (peng - Schallmauer).
Man kann bei einem 4-Kern-Prozessor aber auch die Leistung nicht gleich „4 Kerne = 4 x soviel wie 1 Kern“ berechnen, obwohl 4 Kerne da sind und quasi wie 4 verfügbare Prozessoren arbeiten können. Das Problem ist aber, dass nicht jedes Programm dieses Potential nutzt bzw. nutzen kann.
Beispiel die meisten PC-Spiele: Ein Spiel hat einen Handlungsfaden, der im Spielverlauf durch den Spieler beeinflusst wird. Der Prozessor kann den verlauf nicht voraussehen und die notwendigen Berechnungen damit auch nicht vorher auf 4 Kerne aufteilen. Er nutzt damit für den Mainplot üblicherweise einen Kern und kann bestensfalls abhängige Unteraufgaben auf andere Kerne auslagern. Das ist aber auch nicht sehr effizient, weil ja alles (Spielverlauf/ KI, Grafik & Sound) voneinander abhängig ist, wodurch die Programmierung schwierig ist und bei der Datenverarbeitung ein großer Overhead anfällt. Deshalb wird meist nur das Potential von 1 - 2,5 Kernen eines Vierkernprozessors genutzt.
Anderes Beispiel: Video komprimieren: Das Video ist von Anfang an da und ändert sich nicht, der Prozessor kann es also bequem vorher analysieren, in vier Teile hacken und jedem Prozessorkern ein Viertel der Arbeit zuweisen. Damit werden alle 4 Kerne voll genutzt und deine Rechnung geht auf.
Fazit:
Die Mehrleistung eines QuadCore gegenüber einem SingleCore liegt zwischen nichts und 300%.
Hoffe, das war etwas erhellend.
Gruß, Jesse