native MIPS (Million Instructions Per Second)
MIPS |
= |
Instruction count |
Execution time x 10^6 |
- Berücksichtigt nicht die "Fähigkeiten" der Befehle
- Variiert bereits zwischen 2 verschiedenen Programmen auf dem selben Rechner
- Kann umgekehrt zur Performance variieren
Annahme:
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.
|