Anweisungen pro Sekunde - Instructions per second

Computerverarbeitungseffizienz, gemessen als die Anzahl der Watt, die pro Million Anweisungen pro Sekunde benötigt werden (Watt pro MIPS).

Anweisungen pro Sekunde ( IPS ) ist ein Maß für einen Computer ist Prozessorgeschwindigkeit. Bei Computern mit komplexem Befehlssatz (CISCs) benötigen verschiedene Befehle unterschiedlich viel Zeit, sodass der gemessene Wert vom Befehlsmix abhängt; selbst beim Vergleich von Prozessoren derselben Familie kann die IPS-Messung problematisch sein. Viele gemeldete IPS-Werte haben "Spitzen"-Ausführungsraten bei künstlichen Befehlssequenzen mit wenigen Verzweigungen und ohne Cache-Konflikt dargestellt , während realistische Workloads typischerweise zu deutlich niedrigeren IPS-Werten führen. Die Speicherhierarchie wirkt sich auch stark auf die Prozessorleistung aus, ein Problem, das bei IPS-Berechnungen kaum berücksichtigt wird. Aufgrund dieser Probleme werden heute allgemein synthetische Benchmarks wie Dhrystone verwendet, um die Computerleistung in häufig verwendeten Anwendungen zu schätzen , und rohes IPS wurde nicht mehr verwendet.

Der Begriff wird häufig in Verbindung mit einem metrischen Präfix (k, M, G, T, P oder E) verwendet, um Kiloanweisungen pro Sekunde ( kIPS ), Millionen Anweisungen pro Sekunde ( MIPS ) und Milliarden Anweisungen pro Sekunde ( GIPS ) zu bilden ) und so weiter. Früher wurde TIPS gelegentlich für "tausend ips" verwendet.

Computer

IPS kann mit dieser Gleichung berechnet werden:

Die Anweisungen/Zyklusmessung hängt jedoch von der Anweisungsfolge, den Daten und externen Faktoren ab.

Tausend Anweisungen pro Sekunde (TIPS/kIPS)

Vor dem Standard - Benchmarks zur Verfügung stand, wurde Durchschnittsgeschwindigkeit Bewertung von Computern auf Berechnungen für eine Mischung von Anweisungen mit den Ergebnissen angegeben in Basis Kilos Instruktionen pro Sekunde (Kips). Der bekannteste war der Gibson Mix , der 1959 von Jack Clark Gibson von IBM für wissenschaftliche Anwendungen hergestellt wurde. Andere Bewertungen, wie der ADP-Mix, der keine Gleitkommaoperationen enthält, wurden für kommerzielle Anwendungen produziert. Die Einheit Tausend Befehle pro Sekunde (kIPS) wird heute selten verwendet, da die meisten aktuellen Mikroprozessoren mindestens eine Million Befehle pro Sekunde ausführen können.

Der Gibson-Mix

Gibson unterteilte Computeranweisungen in 12 Klassen, basierend auf der IBM 704- Architektur, und fügte eine 13. Klasse hinzu, um die Indexierungszeit zu berücksichtigen. Die Gewichtungen basierten hauptsächlich auf der Analyse von sieben wissenschaftlichen Programmen, die auf dem 704 ausgeführt wurden, mit einem kleinen Beitrag von einigen IBM 650- Programmen. Die Gesamtpunktzahl war dann die gewichtete Summe der durchschnittlichen Ausführungsgeschwindigkeit für Anweisungen in jeder Klasse.

Millionen Anweisungen pro Sekunde (MIPS)

Die Geschwindigkeit einer bestimmten CPU hängt von vielen Faktoren ab, wie zum Beispiel der Art der ausgeführten Befehle, der Ausführungsreihenfolge und dem Vorhandensein von Verzweigungsbefehlen (problematisch in CPU-Pipelines). Die CPU-Befehlsraten unterscheiden sich von den Taktfrequenzen, die normalerweise in Hz angegeben werden , da jeder Befehl mehrere Taktzyklen zum Abschluss benötigen kann oder der Prozessor in der Lage sein kann, mehrere unabhängige Befehle gleichzeitig auszuführen. MIPS kann beim Leistungsvergleich von Prozessoren mit ähnlicher Architektur (zB Mikrocontrollern der Marke Microchip) nützlich sein, sie sind jedoch zwischen unterschiedlichen CPU-Architekturen schwer zu vergleichen . Dies führte dazu, dass der Begriff "Bedeutungslose Leistungsindizes" Mitte der 1980er Jahre unter Technikern populär wurde.

Aus diesem Grund ist MIPS kein Maß für die Geschwindigkeit der Befehlsausführung, sondern die Geschwindigkeit der Aufgabenausführung im Vergleich zu einer Referenz. In den späten 1970er Jahren wurde die Leistung von Minicomputern mit VAX MIPS verglichen , wobei Computer an einer Aufgabe gemessen und ihre Leistung mit dem VAX 11/780 verglichen wurde, der als 1-MIPS- Computer vermarktet wurde . (Das Maß wurde auch als VAX Unit of Performance oder VUP bezeichnet .) Dies wurde gewählt, weil der 11/780 in der Leistung ungefähr gleichwertig mit einem IBM System/370 Modell 158-3 war, das in der Computerindustrie allgemein als lauffähig akzeptiert wurde bei 1 MIPS.

Viele Leistungsangaben von Minicomputern basierten auf der Fortran- Version des Whetstone-Benchmarks , die Millionen von Whetstone-Anweisungen pro Sekunde (MWIPS) lieferte. Der VAX 11/780 mit FPA (1977) läuft mit 1,02 MWIPS.

Effektive MIPS-Geschwindigkeiten hängen stark von der verwendeten Programmiersprache ab. Der Whetstone Report enthält eine Tabelle, die MWIPS-Geschwindigkeiten von PCs über frühe Interpreter und Compiler bis hin zu modernen Sprachen zeigt. Der erste PC-Compiler war für BASIC (1982), als eine 4,8 MHz 8088/87 CPU 0,01 MWIPS erreichte. Die Ergebnisse auf einem 2,4 GHz Intel Core 2 Duo (1 CPU 2007) variieren von 9,7 MWIPS mit BASIC Interpreter, 59 MWIPS mit BASIC Compiler, 347 MWIPS mit 1987 Fortran, 1.534 MWIPS durch HTML/Java bis 2.403 MWIPS mit einem modernen C / C++ Compiler .

Für die frühesten 8-Bit- und 16-Bit- Mikroprozessoren wurde die Leistung in Tausend Befehlen pro Sekunde (1000 kIPS = 1 MIPS) gemessen .

zMIPS bezieht sich auf das MIPS-Maß, das intern von IBM verwendet wird , um seine Mainframe- Server ( zSeries , IBM System z9 und IBM System z10 ) zu bewerten .

Gewichtete Millionen Operationen pro Sekunde (WMOPS) ist eine ähnliche Messung, die für Audio-Codecs verwendet wird.

Zeitleiste der Anweisungen pro Sekunde

Prozessor / System Dhrystone MIPS oder MIPS und Frequenz D Befehle pro Taktzyklus D Befehle pro Taktzyklus pro Kern Jahr Quelle
UNIVAC I 0,002 MIPS bei 2,25 MHz 0,0008 0,0008 1951

IBM 7030 ("Stretch") 1.200 MIPS bei 3,30 MHz 0,364 0,364 1961
CDC 6600 10,00 MIPS bei 10,00 MHz 1 1 1965
Intel 4004 0,092 MIPS bei 0,740 MHz
(nicht Dhrystone)
0,124 0,124 1971
IBM System/370 Modell 158 0,640 MIPS bei 8,696 MHz 0,0736 0,0736 1972
Intel 8080 0,290 MIPS bei 2.000 MHz

(Nicht Drystone)

0,145 0,145 1974
Cray 1 160,0 MIPS bei 80,00 MHz 2 2 1975
MOS-Technologie 6502 0,430 MIPS bei 1.000 MHz 0,43 0,43 1975
Intel 8080A 0,435 MIPS bei 3.000 MHz

(Nicht Drystone)

0,145 0,145 1976
Zilog Z80 0,580 MIPS bei 4.000 MHz

(Nicht Drystone)

0,145 0,145 1976
Motorola 6802 0,500 MIPS bei 1.000 MHz 0,5 0,5 1977
IBM System/370 Modell 158-3 0,730 MIPS bei 8,696 MHz 0,0839 0,0839 1977
VAX-11/780 1.000 MIPS bei 5.000 MHz 0,2 0,2 1977
Motorola 6809 0,420 MIPS bei 1.000 MHz 0,42 0,42 1978
Intel 8086 0,330 MIPS bei 5.000 MHz 0,066 0,066 1978
Fujitsu MB8843 2.000 MIPS bei 2.000 MHz
(nicht Dhrystone)
1 1 1978
Intel 8088 0,750 MIPS bei 10,00 MHz 0,075 0,075 1979
Motorola 68000 1.400 MIPS bei 8.000 MHz 0,175 0,175 1979
Zilog Z8001/Z8002 1,5 MIPS bei 6 MHz 0,25 0,25 1979
Intel 8035/8039/8048 6 MIPS bei 6 MHz
(nicht Dhrystone)
1 1 1980
Fujitsu MB8843/MB8844 6 MIPS bei 6 MHz
(nicht Dhrystone)
1 1 1980
Zilog Z80/Z80H 1,16 MIPS bei 8 MHz

(Nicht Drystone)

0,145 0,145 1981
Motorola 6802 1,79 MIPS bei 3,58 MHz 0,5 0,5 1981
Zilog Z8001/Z8002B 2,5 MIPS bei 10 MHz 0,25 0,25 1981
MOS-Technologie 6502 2.522 MIPS bei 5.865 MHz 0,43 0,43 1981
Intel 80286 1,28 MIPS bei 12 MHz 0,107 0,107 1982
Motorola 68000 2,188 MIPS bei 12,5 MHz 0,175 0,175 1982
Motorola 68010 2.407 MIPS bei 12.5 MHz 0,193 0,193 1982
NEC V20 4 MIPS bei 8 MHz
(nicht Dhrystone)
0,5 0,5 1982
LINKS-1 Computergrafiksystem (257-Prozessor) 642,5 MIPS bei 10 MHz 2.5 0,25 1982
Texas Instruments TMS32010 5 MIPS bei 20 MHz 0,25 0,25 1983
NEC V30 5 MIPS bei 10 MHz
(nicht Dhrystone)
0,5 0,5 1983
Motorola 68010 3,209 MIPS bei 16,67 MHz 0,193 0,193 1984
Motorola 68020 4.848 MIPS bei 16 MHz 0,303 0,303 1984
Hitachi HD63705 2 MIPS bei 2 MHz 1 1 1985
Intel i386DX 2,15 MIPS bei 16 MHz 0,134 0,134 1985
Hitachi-Motorola 68HC000 3,5 MIPS bei 20 MHz 0,175 0,175 1985
Intel 8751 1 MIPS bei 12 MHz 0,083 0,083 1985
Sega-System 16 (4-Prozessor) 16,33 MIPS bei 10 MHz 4.083 1.020 1985
ARM2 4 MIPS bei 8 MHz 0,5 0,5 1986
Texas Instruments TMS34010 6 MIPS bei 50 MHz 0,12 0,12 1986
NEC V70 6,6 MIPS bei 20 MHz 0,33 0,33 1987
Motorola 68030 9 MIPS bei 25 MHz 0,36 0,36 1987
Gmicro/200 10 MIPS bei 20 MHz 0,5 0,5 1987
Texas Instruments TMS320C20 12,5 MIPS bei 25 MHz 0,5 0,5 1987
Analog Devices ADSP-2100 12,5 MIPS bei 12,5 MHz 1 1 1987
Texas Instruments TMS320C25 25 MIPS bei 50 MHz 0,5 0,5 1987
Motorola 68020 10 MIPS bei 33 MHz 0,303 0,303 1988
Motorola 68030 18 MIPS bei 50 MHz 0,36 0,36 1988
Namco System 21 (10-Prozessor) 73,927 MIPS bei 25 MHz 2.957 0,296 1988
Intel i386DX 4,3 MIPS bei 33 MHz 0,13 0,13 1989
Intel i486DX 8,7 MIPS bei 25 MHz 0,348 0,348 1989
NEC V80 16,5 MIPS bei 33 MHz 0,5 0,5 1989
Intel i860 25 MIPS bei 25 MHz 1 1 1989
Atari Hard Driven' (7-Prozessor) 33.573 MIPS bei 50 MHz 0,671 0,0959 1989
NEC SX-3 (4-Prozessor) 680 MIPS bei 400 MHz 1.7 0,425 1989
ARM3 12 MIPS bei 25 MHz 0,5 0,5 1989
Motorola 68040 44 MIPS bei 40 MHz 1.1 1.1 1990
Namco System 21 (Galaxian³) (96-Prozessor) 1.660,386 MIPS bei 40 MHz 41,51 0,432 1990
AMD Am386 9 MIPS bei 40 MHz 0,225 0,225 1991
Intel i486DX 11,1 MIPS bei 33 MHz 0,336 0,336 1991
Intel i860 50 MIPS bei 50 MHz 1 1 1991
Intel i486DX2 25,6 MIPS bei 66 MHz 0,388 0,388 1992
Alpha 21064 86 MIPS bei 150 MHz 0,573 0,573 1992
Alpha 21064 135 MIPS bei 200 MHz 0,675 0,675 1993
MIPS R4400 85 MIPS bei 150 MHz 0,567 0,567 1993
Gmicro/500 132 MIPS bei 66 MHz 2 2 1993
IBM-Motorola PowerPC 601 157,7 MIPS bei 80 MHz 1.971 1.971 1993
SGI Onyx RealityEngine 2 (36-Prozessor) 2.640 MIPS bei 150 MHz 17,6 0,489 1993
Namco Magic Edge Hornet Simulator (36-Prozessor) 2.880 MIPS bei 150 MHz 19.2 0,533 1993
ARM7 40 MIPS bei 45 MHz 0,889 0,889 1994
Intel DX4 70 MIPS bei 100 MHz 0,7 0,7 1994
Motorola 68060 110 MIPS bei 75 MHz 1.33 1.33 1994
Intel Pentium 188 MIPS bei 100 MHz 1,88 1,88 1994
Mikrochip PIC16F 5 MIPS bei 20 MHz 0,25 0,25 1995
IBM-Motorola PowerPC 603e 188 MIPS bei 133 MHz 1.414 1.414 1995
ARM 7500FE 35,9 MIPS bei 40 MHz 0,9 0,9 1996
IBM-Motorola PowerPC 603ev 423 MIPS bei 300 MHz 1,41 1,41 1996
Intel Pentium Pro 541 MIPS bei 200 MHz 2.7 2.7 1996
Hitachi SH-4 360 MIPS bei 200 MHz 1,8 1,8 1997
IBM-Motorola PowerPC 750 525 MIPS bei 233 MHz 2.3 2.3 1997
Zilog eZ80 80 MIPS bei 50 MHz 1,6 1,6 1999
Intel Pentium III 2.054 MIPS bei 600 MHz 3.4 3.4 1999
Sega Naomi Multiboard (32-Prozessor) 6.400 MIPS bei 200 MHz 32 1 1999
Freescale MPC8272 760 MIPS bei 400 MHz 1,9 1,9 2000
AMD Athlon 3.561 MIPS bei 1,2 GHz 3.0 3.0 2000
Siliziumerkennung ZISC 78 8.600 MIPS bei 33 MHz 260.6 260.6 2000
ARM11 515 MIPS bei 412 MHz 1,25 1,25 2002
AMD Athlon XP 2500+ 7.527 MIPS bei 1,83 GHz 4.1 4.1 2003
Pentium 4 Extreme-Edition 9.726 MIPS bei 3,2 GHz 3.0 3.0 2003
Mikrochip PIC10F 1 MIPS bei 4 MHz 0,25 0,25 2004
ARM-Cortex-M3 125 MIPS bei 100 MHz 1,25 1,25 2004
Nios II 190 MIPS bei 165 MHz 1,13 1,13 2004
MIPS32 4KEc 356 MIPS bei 233 MHz 1,5 1,5 2004
VIA C7 1.799 MIPS bei 1,3 GHz 1,4 1,4 2005
ARM-Cortex-A8 2.000 MIPS bei 1,0 GHz 2.0 2.0 2005
AMD Athlon FX-57 12.000 MIPS bei 2,8 GHz 4.3 4.3 2005
AMD Athlon 64 3800+ X2 (2-Kern) 14.564 MIPS bei 2,0 GHz 7.3 3.6 2005
PowerPC G4 MPC7448 3.910 MIPS bei 1,7 GHz 2.3 2.3 2005
ARM-Cortex-R4 450 MIPS bei 270 MHz 1,66 1,66 2006
MIPS32 24K 604 MIPS bei 400 MHz 1,51 1,51 2006
PS3-Zellen BE ( nur PSA ) 10.240 MIPS bei 3,2 GHz 3.2 3.2 2006
IBM Xenon-CPU (3-Kern) 19.200 MIPS bei 3,2 GHz 6.0 2.0 2005
AMD Athlon FX-60 (2-Kern) 18.938 MIPS bei 2,6 GHz 7.3 3.6 2006
Intel Core 2 Extreme X6800 (2- Kerne ) 27.079 MIPS bei 2,93 GHz 9.2 4.6 2006
Intel Core 2 Extreme QX6700 (4- Kerne ) 49.161 MIPS bei 2,66 GHz 18,4 4.6 2006
MIPS64 20Kc 1.370 MIPS bei 600 MHz 2.3 2.3 2007
PA Semi PA6T-1682M 8.800 MIPS bei 1,8 GHz 4.4 4.4 2007
Qualcomm Scorpion (Cortex A8-ähnlich) 2.100 MIPS bei 1 GHz 2.1 2.1 2008
Intel Atom N270 3.846 MIPS bei 1,6 GHz 2.4 2.4 2008
Intel Core 2 Extreme QX9770 (4-Kerne) 59.455 MIPS bei 3,2 GHz 18,6 4.6 2008
Intel Core i7 920 (4-Kerne) 82.300 MIPS bei 2,93 GHz 28.089 7.022 2008
ARM-Kortex-M0 45 MIPS bei 50 MHz 0,9 0,9 2009
ARM-Cortex-A9 (2-Kern) 7.500 MIPS bei 1,5 GHz 5.0 2.5 2009
AMD Phenom II X4 940 Black Edition 42.820 MIPS bei 3,0 GHz 14,3 3.5 2009
AMD Phenom II X6 1100T 78.440 MIPS bei 3,3 GHz 23,7 3.9 2010
Intel Core i7 Extreme Edition 980X (6-Kern) 147.600 MIPS bei 3,33 GHz 44,7 7,46 2010
ARM-Kortex A5 1.256 MIPS bei 800 MHz 1,57 1,57 2011
ARM-Kortex A7 2.850 MIPS bei 1,5 GHz 1,9 1,9 2011
Qualcomm Krait (Cortex A15-ähnlich, 2-Kern) 9.900 MIPS bei 1,5 GHz 6.6 3.3 2011
AMD E-350 (2-Kerne) 10.000 MIPS bei 1,6 GHz 6,25 3.125 2011
Nvidia Tegra 3 (Quad-Core Cortex-A9 ) 13.800 MIPS bei 1,5 GHz 9.2 2.5 2011
Samsung Exynos 5250 (Cortex-A15-ähnlicher 2-Kern) 14.000 MIPS bei 2,0 GHz 7,0 3.5 2011
Intel Core i5 - 2500K (4-Kern) 83.000 MIPS bei 3,3 GHz 25.152 6.288 2011
Intel Core i7 875K 92.100 MIPS bei 2,93 GHz 31,4 7,85 2011
AMD FX-8150 (8-Kerne) 90.749 MIPS bei 3,6 GHz 25,2 3.15 2011
Intel Core i7 2600K 117.160 MIPS bei 3,4 GHz 34.45 8,61 2011
Intel Core i7-3960X 176.170 MIPS bei 3,3 GHz 53,38 8,89 2011
AMD FX-8350 97.125 MIPS bei 4,2 GHz 23.1 2.9 2012
AMD FX-9590 115.625 MIPS bei 5,0 GHz 23.1 2.9 2012
Intel Core i7 3770K 106.924 MIPS bei 3,9 GHz 27,4 6.9 2012
Intel Core i7 4770K 133.740 MIPS bei 3,9 GHz 34,29 8.57 2013
Intel Core i7 5960X 298.190 MIPS bei 3,5 GHz 85,2 10,65 2014
Raspberry Pi 2 4.744 MIPS bei 1,0 GHz 4.744 1.186 2014
Intel Core i7 6950X 320.440 MIPS bei 3,5 GHz 91,55 9,16 2016
ARM Cortex A73 (4-Kern) 71.120 MIPS bei 2,8 GHz 25,4 6.35 2016
ARM-Kortex A75 ? ? 8,2-9,5 2017
ARM-Kortex A76 ? ? 10,7-12,4 2018
AMD Ryzen 7 1800X 304.510 MIPS bei 3,7 GHz 82,3 10.29 2017
Intel Core i7-8086K 221.720 MIPS bei 5,0 GHz 44,34 7,39 2018
Intel Core i9-9900K 412.090 MIPS bei 4,7 GHz 87.68 10,96 2018
AMD Ryzen 9 3950X 749.070 MIPS bei 4,6 GHz 162,84 10.18 2019
AMD Ryzen Threadripper 3990X 2.356.230 MIPS bei 4,35 GHz 541.66 8.46 2020
Prozessor / System Dhrystone MIPS / MIPS D Befehle pro Taktzyklus D Befehle pro Taktzyklus pro Kern Jahr Quelle

Siehe auch

Verweise