Berücksichtigt nicht die "Fähigkeiten" der Befehle
Variiert bereits zwischen 2 verschiedenen Programmen auf dem selben Rechner
Kann umgekehrt zur Performance variieren
Annahme:
Rechner mit 500 MHz
Befehlsklasse:
CPI:
A
1
B
2
C
3
2 verschiedene Compiler für das selbe Programm erzeugen 2 unterschiedliche Code Sequenzen.
Code Sequenz:
Anzahl der Befehle (in Milliarden) für die einzelnen Klassen:
Gesamt:
A
B
C
1
5
1
1
7
2
10
1
1
12
Execution time
=
CPU clock cycles
Clock rate
Execution time (1)
=
10 x 10^9
=
20 Sekunden
500 x 10^6
Execution time (2)
=
15 x 10^9
=
30 Sekunden
500 x 10^6
Compiler 1 generiert den schnelleren Code.
MIPS
=
Instruction count
Execution time x 10^6
MIPS (1)
=
7 x 10^9
=
350
20 x 10^6
MIPS (2)
=
12 x 10^9
=
400
30 x 10^6
Native MIPS ist nur unter bestimmten Bedingungen als Performanceangabe zu gebrauchen!
Weitere Bezeichnungen wie MOPS (Million Operations Per Second) oder MFLOPS/megaFLOPS (Million Floating point Operations Per Second) werden teilweise bei wissenschaftlichen Rechnern als Performanceangabe gebraucht.