Kenny [CH]
Commodore
- Registriert
- Mai 2008
- Beiträge
- 5.018
Der Vergleich ist nicht ganz Korrekt. Er sollte IPC > CPU Takt sein. Kerne haben mit dem IPC per se nichts zu tun.cat_helicopter schrieb:IPC > Kerne.
IPC oder Instruction per Cycle ist ein begriff der Aussagt wie viele Anweisung können pro Zyklus verarbeitet werden. Aber um das genauer zu definieren muss man sich mit der Hardware und den CPU Befehlssatz auseinander setzten.
https://en.wikipedia.org/wiki/Instructions_per_cycle
The calculation of IPC is done through running a set piece of code, calculating the number of machine-level instructions required to complete it
Ein kleines Beispiel vom Assembler (nur 8Bit) aus der FH
MOV AL,15 wird im RAM/ROM z.B. wie folgt als HEX abgelegt: D0 00 15
Dieser Befehl ladet die Konstante 15 in das Register AL.
Für uns sieht es so aus, als würde der Prozessor dies in einem CPU Takt einlesen. Was aber genau geschieht ist wie folgt: Der Prozessor liest in einem Mikro Takt den Wert D0 ein (Opcode Fetch), der Prozessor entscheidet um welchen Befehl es sich handelt und wie die Nachfolgende Werte interpretiert werden müssen. Im nächsten Mikro Takt liesst er den Wert 00 ein (unser Register AL) und erst am Ende (beim letzten Mikro Takt) wird die Konstante 15 in das Register AL geschrieben.
All diese Mikro Takts zusammen ergeben einen CPU Takt. - In diesem Beispiel von oben arbeitet die CPU z.B. mit einem 8 mal höheren Internen Takt.
Als Nutzer der CPU sehen wir aber nicht die Mikro Takts (IPC) sondern nur den CPU Takt.
Wenn man jetzt natürlich viele Instruktionen (gleichzeitig) pro Zyklus verarbeiten kann, erhöht dies auch den CPU Takt (in direkt). Er wird zwar nicht höher in der form von 3GHz zu 4Ghz. Es ist aber ein wesentlichen Unterschied ob du 20 Anweisungen/Instruktionen pro 1Hz Takt ausführen kannst oder nur 2 Anweisungen/Instruktionen pro 1Hz Takt.
Anderst gesagt, wenn Intel CPUs 100 Anweisungen/Instruktionen pro Takt durchführen kann, und AMD CPU "nur" 80 Anweisungen/Instruktionen pro Takt, so ist die Differenz bei 4Ghz (Annahme Intel und AMD CPU haben die gleiche Taktrate) bereits 80 Millionen Anweisungen/Instruktionen, die die Intel CPU zusätzlich verarbeitet können.
Du siehst ein Vergleich von einer CPU AMD und Intel wird sehr schwer, wenn sie nicht die gleiche IPC Werte haben. Daher ist der CPU Takt alleine auch nichts aussagekräftiges mehr.
So ich hoffe ich konnte dir Helfen um das Thema der IPC und CPU Takt besser zu verstehen. Jetzt könnten wir uns noch dem nächsten Punkt widmen mit den CPU Kerne. Ich denke hier haben aber viele bereits etwas dazu geschrieben und wenn erst nach dem Mittag
Er sagt dazu fast alles - zuzüglich bringt die Parallelisierung auch viele gefahren, z.B. Thread Safety! Wenn die Applikation nicht Thread Safe gebaut wurde, darf man fast die ganze Applikation umbauen - Gefahren von Bugs etc.KlaasKersting schrieb:Wenn du tatsächlich einen Workflow hast, der am Ende nicht absehbar durch einen Thread limitiert wird, heißt das noch immer nicht, dass es sich finanziell lohnt, teure Entwicklungskosten in Parallelisierung zu versenken.