# Instruktionen pro Sekunde

Die Instruktionen pro Sekunde (kurz IPS, von englisch instructions per second), meist als Millionen Instruktionen pro Sekunde (MIPS, von engl. million instructions per second oder mega instructions per second) angegeben, ist eine Maßeinheit für die Rechenleistung von Computern, dabei insbesondere die Leistungsfähigkeit der CPU (siehe auch Computer-Benchmark). Die Einheit gibt an, wie viele Maschinenbefehle (Instruktionen) ein Mikroprozessor pro Sekunde ausführen kann. 1 MIPS bedeutet, er kann eine Million Maschinenbefehle pro Sekunde ausführen.
Hohe IPS-Werte erreichen Prozessoren vor allem mit sehr einfachen Befehlen zur Ganzzahl- oder Logikrechnung. Für viele Berechnungen ist jedoch die Rechenleistung mit Gleitkommazahlen maßgebend, für die es die ähnliche Maßeinheit „FLOPS“ gibt (Floating Point Operations Per Second – Gleitkomma-Befehle pro Sekunde).

## Übersicht

Da Maschinensprachen von Prozessortypen unterschiedlicher Architektur (wie z. B. x86 und PowerPC) oft stark differierende Befehlssätze aufweisen, ist ein Vergleich reiner MIPS-Zahlen meist nur beschränkt aussagekräftig. Nimmt man ähnliche Funktionen als Referenz, sind die Unterschiede weitaus größer als durch die MIPS-Werte dargestellt. Beispielsweise ist die „Ganzzahl-Multiplikation zweier Register“ eines Intel 8080 oder Zilog Z80 eine 8 bit × 8 bit = 16 bit -Operation, bei modernen Prozessoren jedoch eine 64 bit × 64 bit = 128 bit -Rechnung, die auf einem Intel 8080 über 10.000 Takte dauern würde.
Für manche Einsatzgebiete, in denen vor allem Ganzzahlen, Texte, Datentransport oder Verwaltungsaufgaben anfallen, können IPS-Angaben jedoch durchaus eine grobe Einschätzung der Leistungsfähigkeit eines Systems für diese Zwecke bedeuten; Beispiel sind Web-, File- und Datenbank-Server, Router, Gerätesteuerungen, Smartphones.

### Beispielwerte

Zeitachse MIPS-Entwicklung :
| CPU | MIPS | Taktfrequenz | Jahr |
| Intel 8080 | 0,4 | 2 MHz | 1974 |
| Z80 | 0,625 | 2,5 MHz | 1974 |
| Motorola 68000 | 1 | 8 MHz | 1979 |
| Motorola 68020 | 4 | 20 MHz | 1984 |
| ARM2 | 4 | 8 MHz | 1986 |
| Motorola 68030 | 11 | 33 MHz | 1987 |
| ARM3 | 12 | 25 MHz | 1989 |
| Motorola 68040 | 44 | 40 MHz | 1990 |
| Intel 486DX | 54 | 66 MHz | 1992 |
| DEC Alpha 21064 EV4 | 300 | 150 MHz | 1992 |
| Motorola 68060 | 88 | 66 MHz | 1994 |
| ARM 7500FE | 35,9 | 40 MHz | 1996 |
| Atmel AVR | 10 | 10 MHz | 1996 |
| PowerPC G3 | 671 | 366 MHz | 1997 |
| Zilog eZ80 | 80 | 50 MHz | 1998 |
| ARM10 | 400 | 300 MHz | 1999 |
| Pentium 3 | 1.354 | 500 MHz | 1999 |
| Athlon FX-57 | 8.400 | 2,8 GHz | 2005 |
| Athlon FX60 | 18.938 | 2,6 GHz | 2006 |
| Xeon Harpertown | 93.608 | 3 GHz | 2007 |
| ARM Cortex-A15 | 35.000 | 2,5 GHz | 2010 |
| AMD Phenom II X6 1100T | 78.440 | 3,3 GHz | 2010 |
| AMD FX-8150 | 108.890 | 3,6 GHz | 2011 |
| Intel Core i7 2600K | 128.300 | 3,4 GHz | 2011 |
| Intel Core i7 5960X | 336.000 | 3,0 GHz | 2014 |

## Berechnung

Die Leistung $\textstyle L$, ausgedrückt in Instruktionen pro Sekunde, wird durch
    $L={\frac {1}{CPI\cdot T}}$         [L] = IPS
berechnet, wobei $\textstyle T$ die Taktzykluslänge und $\textstyle CPI$ die durchschnittliche Anzahl von Zyklen ist, die der Rechner zum Ausführen einer Instruktion benötigt.

## Vielfache der Maßeinheit

Wie bei anderen Maßeinheiten auch, so werden die Vielfache einer IPS ebenfalls mit den üblichen Dezimal-Präfixen beschrieben (siehe auch Vorsätze für Maßeinheiten).
Heute üblich ist jedoch noch das „MIPS“ (für Mega-IPS = 10$^6$ IPS), da es im Konsumenten-Bereich quasi eine Brücke zwischen den schwächsten und den stärksten Rechenleistungen schlägt. Zunehmend werden jedoch auch die Vielfachen GIPS (für Giga-IPS = 10$^9$ IPS) und TIPS (für Tera-IPS = 10$^{12}$ IPS) verwendet. Letztere jedoch eher bei Hochleistungsrechnern.

## DMIPS

Ein nach dem Dhrystone-Benchmark ermittelter MIPS-Wert.

## Trivia

Aufgrund der problematischen Vergleichbarkeit von IPS-Werten über Architektur-Grenzen wird MIPS vereinzelt auch scherzhaft als „Misleading Information to Promote Sales“ (Irreführende Information zur Verkaufsförderung) oder auch als „Meaningless Indication/Information about Processor Speed“ (Bedeutungslose Angabe/Information zur Geschwindigkeit eines Mikroprozessors) interpretiert.