Instructions per Cycle
# Instructions per Cycle

Die Maßeinheit Instructions per Cycle (IPC; deutsch Instruktionen pro Zyklus) bezeichnet die Anzahl der von einem Prozessor in einem Taktzyklus ausgeführten Befehle. Der IPC Wert ist das Resultat der Arbeitsweise des Leitwerks.

Eine obere Grenze für einen IPC-Wert gibt die Skalarität eines Prozessors an, es handelt sich aber in der Regel bei einem IPC-Wert um einen Mittelwert. Zum Berechnen eines IPC-Werts werden viele Befehle ausgeführt und diese häufig durch die dafür benötigte Anzahl an Taktzyklen dividiert (siehe arithmetisches Mittel), es sind aber auch andere Berechnungen eines Mittelwerts denkbar. Der entstehende IPC-Wert ist jedoch abhängig vom konkret ausgeführten Maschinenprogramm und der Mikroarchitektur. So kann ein Programm auf zwei unterschiedlichen Mikroarchitekturen denselben IPC-Wert erzielen, während ein anderes Programm auf denselben Mikroarchitekturen unterschiedliche Werte liefert.

Der IPC-Wert (der durch ein arithmetische Mittel gebildet wurde) mal der Taktfrequenz gerechnet ergibt die Anzahl der ausgeführten Befehle pro Sekunde.

Zu beachten ist, dass einige Hersteller mit einem „Cycle“ oder „Taktzyklus“ nicht die Periodendauer des Taktsignals, sondern ein Vielfaches davon meinen (siehe Double Data Rate).

In der Literatur findet man auch häufig den Cycles per Instruction (CPI) Wert.

## Beispiele

* Konrad Zuses Z1 hatte z. B. einen IPC im Bereich von 0,05 bis 1. Bei dem Z1 handelt es sich um eine skalare Mikroarchitektur, denn sein IPC-Wert ist im Optimalfall eins.
* MOS Technology 6502: 0,43 MIPS / MHz / Core
* Intel 8086: 0,06 MIPS / MHz / Core
* Motorola 68060: 1,33 MIPS / MHz / Core
* AMD Phenom II X6 1100T: 3,9 MIPS / MHz / Core
* Intel Core i5 8250U: 10,3 MIPS / MHz / Core
* AMD Ryzen 7 1800X: 10,6 MIPS / MHz / Core
