Instructions per second


Instructions per second is a measure of a computer's processor speed. For
CISC computers different instructions take different amounts of time, so the value measured depends on the instruction mix; even for comparing processors in the same family the IPS measurement can be problematic. Many reported IPS values have represented "peak" execution rates on artificial instruction sequences with few branches and no cache contention, whereas realistic workloads typically lead to significantly lower IPS values. Memory hierarchy also greatly affects processor performance, an issue barely considered in IPS calculations. Because of these problems, synthetic benchmarks such as Dhrystone are now generally used to estimate computer performance in commonly used applications, and raw IPS has fallen into disuse.
The term is commonly used in association with a numeric value such as thousand/kilo instructions per second, million instructions per second, and billion instructions per second.

Computing

IPS can be calculated using this equation:
However, the instructions/cycle measurement depends on the instruction sequence, the data and external factors.

Thousand instructions per second (TIPS/KIPS)

Before standard benchmarks were available, average speed rating of computers was based on calculations for a mix of instructions with the results given in kilo Instructions Per Second. The most famous was the Gibson Mix, produced by Jack Clark Gibson of IBM for scientific applications. Other ratings, such as the ADP mix which does not include floating point operations, were produced for commercial applications. The thousand instructions per second unit is rarely used today, as most current microprocessors can execute at least a million instructions per second.

Millions of instructions per second (MIPS)

The speed of a given CPU depends on many factors, such as the type of instructions being executed, the execution order and the presence of branch instructions. CPU instruction rates are different from clock frequencies, usually reported in Hz, as each instruction may require several clock cycles to complete or the processor may be capable of executing multiple independent instructions simultaneously. MIPS can be useful when comparing performance between processors made with similar architecture, but they are difficult to compare between differing CPU architectures. This led to the term "Meaningless Indices of Performance" being popular amongst technical people by the mid-1980s.
For this reason, MIPS has become not a measure of instruction execution speed, but task performance speed compared to a reference. In the late 1970s, minicomputer performance was compared using VAX MIPS, where computers were measured on a task and their performance rated against the VAX 11/780 that was marketed as a 1 MIPS machine. This was chosen because the 11/780 was roughly equivalent in performance to an IBM System/370 model 158–3, which was commonly accepted in the computing industry as running at 1 MIPS.
Many minicomputer performance claims were based on the Fortran version of the Whetstone benchmark, giving Millions of Whetstone Instructions Per Second. The VAX 11/780 with FPA runs at 1.02 MWIPS.
Effective MIPS speeds are highly dependent on the programming language used. The Whetstone Report has a table showing MWIPS speeds of PCs via early interpreters and compilers up to modern languages. The first PC compiler was for BASIC when a 4.8 MHz 8088/87 CPU obtained 0.01 MWIPS. Results on a 2.4 GHz Intel Core 2 Duo vary from 9.7 MWIPS using BASIC Interpreter, 59 MWIPS via BASIC Compiler, 347 MWIPS using 1987 Fortran, 1,534 MWIPS through HTML/Java to 2,403 MWIPS using a modern C/C++ compiler.
For the most early 8-bit and 16-bit microprocessors, performance was measured in thousand instructions per second.
zMIPS refers to the MIPS measure used internally by IBM to rate its mainframe servers.
Weighted million operations per second is a similar measurement, used for audio codecs.

Timeline of instructions per second

Processor / SystemDhrystone MIPS or MIPS, and frequencyIPC per dieIPC per coreYearSource
UNIVAC I0.002 MIPS at 2.25 MHz0.00080.00081951
IBM 7030 1.200 MIPS at 3.30 MHz0.3640.3641961
CDC 660010.00 MIPS at 10.00 MHz111965
Intel 40040.092 MIPS at 0.740 MHz
0.1240.1241971
IBM System/370 Model 1580.640 MIPS at 8.696 MHz0.07360.07361972
Intel 80800.290 MIPS at 2.000 MHz
0.1450.1451974
Cray 1160.0 MIPS at 80.00 MHz221975
MOS Technology 65020.430 MIPS at 1.000 MHz0.430.431975
Intel 8080A0.435 MIPS at 3.000 MHz
0.1450.1451976
Zilog Z800.580 MIPS at 4.000 MHz
0.1450.1451976
Motorola 68020.500 MIPS at 1.000 MHz0.50.51977
IBM System/370 Model 158-30.730 MIPS at 8.696 MHz0.08390.08391977
VAX-11/7801.000 MIPS at 5.000 MHz0.20.21977
Motorola 68090.420 MIPS at 1.000 MHz0.420.421978
Intel 80860.330 MIPS at 5.000 MHz0.0660.0661978
Fujitsu MB88432.000 MIPS at 2.000 MHz
111978
Intel 80880.750 MIPS at 10.00 MHz0.0750.0751979
Motorola 680001.400 MIPS at 8.000 MHz0.1750.1751979
Zilog Z8001/Z80021.5 MIPS at 6 MHz0.250.251979
Intel 8035/8039/80486 MIPS at 6 MHz
111980
Fujitsu MB8843/MB88446 MIPS at 6 MHz
111980
Zilog Z80/Z80H1.16 MIPS at 8 MHz
0.1450.1451981
Motorola 68021.79 MIPS at 3.58 MHz0.50.51981
Zilog Z8001/Z8002B2.5 MIPS at 10 MHz0.250.251981
MOS Technology 65022.522 MIPS at 5.865 MHz0.430.431981
Intel 2861.28 MIPS at 12 MHz0.1070.1071982
Motorola 680002.188 MIPS at 12.5 MHz0.1750.1751982
Motorola 680102.407 MIPS at 12.5 MHz0.1930.1931982
NEC V204 MIPS at 8 MHz
0.50.51982
LINKS-1 Computer Graphics System 642.5 MIPS at 10 MHz2.50.251982
Texas Instruments TMS320105 MIPS at 20 MHz0.250.251983
NEC V305 MIPS at 10 MHz
0.50.51983
Motorola 680103.209 MIPS at 16.67 MHz0.1930.1931984
Motorola 680204.848 MIPS at 16 MHz0.3030.3031984
Hitachi HD637052 MIPS at 2 MHz111985
Intel i386DX2.15 MIPS at 16 MHz0.1340.1341985
Hitachi-Motorola 68HC0003.5 MIPS at 20 MHz0.1750.1751985
Intel 87511 MIPS at 12 MHz0.0830.0831985
Sega System 16 16.33 MIPS at 10 MHz4.0831.0201985
4 MIPS at 8 MHz0.50.51986
Texas Instruments TMS340106 MIPS at 50 MHz0.120.121986
NEC V706.6 MIPS at 20 MHz0.330.331987
Motorola 680309 MIPS at 25 MHz0.360.361987
Gmicro/20010 MIPS at 20 MHz0.50.51987
Texas Instruments TMS320C2012.5 MIPS at 25 MHz0.50.51987
Analog Devices ADSP-210012.5 MIPS at 12.5 MHz111987
Texas Instruments TMS320C2525 MIPS at 50 MHz0.50.51987
Motorola 6802010 MIPS at 33 MHz0.3030.3031988
Motorola 6803018 MIPS at 50 MHz0.360.361988
Namco System 21 73.927 MIPS at 25 MHz2.9570.2961988
Intel i386DX4.3 MIPS at 33 MHz0.130.131989
Intel i486DX8.7 MIPS at 25 MHz0.3480.3481989
NEC V8016.5 MIPS at 33 MHz0.50.51989
Intel i86025 MIPS at 25 MHz111989
Atari Hard Drivin' 33.573 MIPS at 50 MHz0.6710.09591989
NEC SX-3 680 MIPS at 400 MHz1.70.4251989
ARM312 MIPS at 25 MHz0.50.51989
Motorola 6804044 MIPS at 40 MHz1.11.11990
Namco System 21 1,660.386 MIPS at 40 MHz41.510.4321990
AMD Am3869 MIPS at 40 MHz0.2250.2251991
Intel i486DX11.1 MIPS at 33 MHz0.3360.3361991
Intel i86050 MIPS at 50 MHz111991
Intel i486DX225.6 MIPS at 66 MHz0.3880.3881992
Alpha 2106486 MIPS at 150 MHz0.5730.5731992
Alpha 21064135 MIPS at 200 MHz0.6750.6751993
MIPS R440085 MIPS at 150 MHz0.5670.5671993
Gmicro/500132 MIPS at 66 MHz221993
IBM-Motorola PowerPC 601157.7 MIPS at 80 MHz1.9711.9711993
SGI Onyx RealityEngine2 2,640 MIPS at 150 MHz17.60.4891993
Namco Magic Edge Hornet Simulator 2,880 MIPS at 150 MHz19.20.5331993
ARM740 MIPS at 45 MHz0.8890.8891994
Intel DX470 MIPS at 100 MHz0.70.71994
Motorola 68060110 MIPS at 75 MHz1.331.331994
Intel Pentium188 MIPS at 100 MHz1.881.881994
Microchip PIC16F5 MIPS at 20 MHz0.250.251995
IBM-Motorola PowerPC 603e188 MIPS at 133 MHz1.4141.4141995
ARM 7500FE35.9 MIPS at 40 MHz0.90.91996
IBM-Motorola PowerPC 603ev423 MIPS at 300 MHz1.411.411996
Intel Pentium Pro541 MIPS at 200 MHz2.72.71996
Hitachi SH-4360 MIPS at 200 MHz1.81.81997
IBM-Motorola PowerPC 750525 MIPS at 233 MHz2.32.31997
Zilog eZ8080 MIPS at 50 MHz1.61.61999
Intel Pentium III2,054 MIPS at 600 MHz3.43.41999
Sega Naomi Multiboard 6,400 MIPS at 200 MHz3211999
Freescale MPC8272760 MIPS at 400 MHz1.91.92000
AMD Athlon3,561 MIPS at 1.2 GHz3.03.02000
Silicon Recognition ZISC 788,600 MIPS at 33 MHz260.6260.62000
ARM11515 MIPS at 412 MHz1.251.252002
AMD Athlon XP 2500+7,527 MIPS at 1.83 GHz4.14.12003
Pentium 4 Extreme Edition9,726 MIPS at 3.2 GHz3.03.02003
Microchip PIC10F1 MIPS at 4 MHz0.250.252004
ARM Cortex-M3125 MIPS at 100 MHz1.251.252004
Nios II190 MIPS at 165 MHz1.131.132004
MIPS32 4KEc356 MIPS at 233 MHz1.51.52004
VIA C71,799 MIPS at 1.3 GHz1.41.42005
ARM Cortex-A82,000 MIPS at 1.0 GHz2.02.02005
AMD Athlon FX-5712,000 MIPS at 2.8 GHz4.34.32005
AMD Athlon 64 3800+ X2 14,564 MIPS at 2.0 GHz7.33.62005
ARM Cortex-R4450 MIPS at 270 MHz1.661.662006
MIPS32 24K604 MIPS at 400 MHz1.511.512006
PS3 Cell BE 10,240 MIPS at 3.2 GHz3.23.22006
IBM Xenon CPU 19,200 MIPS at 3.2 GHz6.02.02005
AMD Athlon FX-60 18,938 MIPS at 2.6 GHz7.33.62006
Intel Core 2 Extreme X6800 27,079 MIPS at 2.93 GHz9.24.62006
Intel Core 2 Extreme QX6700 49,161 MIPS at 2.66 GHz18.44.62006
MIPS64 20Kc1,370 MIPS at 600 MHz2.32.32007
P.A. Semi PA6T-1682M8,800 MIPS at 1.8 GHz4.44.42007
Qualcomm Scorpion 2,100 MIPS at 1 GHz2.12.12008
Intel Atom N2703,846 MIPS at 1.6 GHz2.42.42008
Intel Core 2 Extreme QX9770 59,455 MIPS at 3.2 GHz18.64.62008
Intel Core i7 920 82,300 MIPS at 2.93 GHz28.0897.0222008
ARM Cortex-M045 MIPS at 50 MHz0.90.92009
ARM Cortex-A9 7,500 MIPS at 1.5 GHz5.02.52009
AMD Phenom II X4 940 Black Edition42,820 MIPS at 3.0 GHz14.33.52009
AMD Phenom II X6 1100T78,440 MIPS at 3.3 GHz23.73.92010
Intel Core i7 Extreme Edition 980X 147,600 MIPS at 3.33 GHz44.77.462010
ARM Cortex A51,256 MIPS at 800 MHz1.571.572011
ARM Cortex A72,850 MIPS at 1.5 GHz1.91.92011
Qualcomm Krait 9,900 MIPS at 1.5 GHz6.63.32011
AMD E-350 10,000 MIPS at 1.6 GHz6.253.1252011
Nvidia Tegra 3 13,800 MIPS at 1.5 GHz9.22.52011
Samsung Exynos 5250 83,000 MIPS at 3.3 GHz25.1526.2882011
Intel Core i7 875K92,100 MIPS at 2.93 GHz31.47.852011
AMD FX-8150 90,749 MIPS at 3.6 GHz25.23.152011
Intel Core i7 2600K117,160 MIPS at 3.4 GHz34.458.612011
Intel Core i7-3960X176,170 MIPS at 3.3 GHz53.388.892011
AMD FX-835097,125 MIPS at 4.2 GHz23.12.92012
AMD FX-9590115,625 MIPS at 5.0 GHz23.12.92012
Intel Core i7 3770K106,924 MIPS at 3.9 GHz27.46.92012
Intel Core i7 4770K133,740 MIPS at 3.9 GHz34.298.572013
Intel Core i7 5960X298,190 MIPS at 3.5 GHz85.210.652014
Raspberry Pi 24,744 MIPS at 1.0 GHz4.7441.1862014
Intel Core i7 6950X320,440 MIPS at 3.5 GHz91.559.162016
ARM Cortex A73 71,120 MIPS at 2.8 GHz25.46.352016
ARM Cortex A75???2017
ARM Cortex A76???2018
AMD Ryzen 7 1800X304,510 MIPS at 3.7 GHz82.310.292017
Intel Core i7-8086K221,720 MIPS at 5.0 GHz44.347.392018
Intel Core i9-9900K412,090 MIPS at 4.7 GHz87.6810.962018
AMD Ryzen 9 3950X749,070 MIPS at 4.6 GHz162.8410.182019
AMD Ryzen Threadripper 3990X2,356,230 MIPS at 4.35 GHz541.668.462020
Processor / SystemDhrystone MIPS / MIPSIPC per dieIPC per coreYearSource