Instructions per second
From Wikipedia, the free encyclopedia
Instructions per second (IPS) is a measure of a computer's processor speed. Many reported IPS values have represented "peak" execution rates on artificial instruction sequences with few branches, whereas realistic workloads consist of a mix of instructions and even applications, some of which take longer to execute than others. The performance of the memory hierarchy also greatly affects processor performance, an issue barely considered in MIPS calculations. Because of these problems, researchers created standardized tests such as SPECint to (maybe) measure the real effective 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 instructions per second (kIPS), million instructions per second (MIPS), or Million Operations per Second (MOPS).
Contents |
[edit] Thousand instructions per second
A thousand instructions per second (kIPS) is rarely used, as most current microprocessors can execute several million instructions per second. The thousand means 1000 not 1024.
kIPS is also a common joke name for 16 bit microprocessor designs developed in undergraduate computer engineering courses that use the text Computer Organization and Design by Patterson and Hennessy (ISBN 1-55860-428-6), which explains computer architecture concepts in terms of the MIPS architecture. Such architectures tend to be scaled down versions of the MIPS R2000 architecture.
[edit] Million instructions per second
Critics of the term refer to it by backronyms such as "Meaningless Indication of Processor Speed" or "Meaningless Information on Performance for Salespeople" or "Meaningless Integer Performance Spec". In Linux and UNIX circles MIPS are often referred to as bogoMIPS. MIPS are not comparable between CPU architectures.
The floating-point arithmetic equivalent of MIPS is FLOPS, to which the same cautions apply.
In the 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. (The measure was also known as the "VAX Unit of Performance" or VUP. Though orthographically incorrect, the "S" in "VUPs" is sometimes written in upper case.) 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.
Most 8-bit and early 16-bit microprocessors have a performance measured in kIPS (thousand instructions per second), which equals 0.001 MIPS. The first general purpose microprocessor, the Intel i8080, ran at 640 kIPS. The Intel i8086 microprocessor, the first 16-bit microprocessor in the line of processors made by Intel and used in IBM PCs, ran at 800 kIPS. Early 32-bit PCs (386) ran at about 3 MIPS.
zMIPS refers to the MIPS measure used internally by IBM to rate its mainframe servers (zSeries and System z9). Analyst firm Isham Research has lately coined the term kMIPS (kilo-million instructions per second) to measure the processor speeds in IBM's largest servers.
[edit] Timeline of instructions per second
Processor | IPS | Year | Source |
---|---|---|---|
Pencil and Paper | 0.0119 IPS | 1892 | [1] |
Intel 8080 | 640 kIPS at 2 MHz | 1974 | |
Motorola 68000 | 1 MIPS at 8 MHz | 1979 | |
Intel 386DX | 8.5 MIPS at 25 MHz | 1988 | |
Intel 486DX | 54 MIPS at 66 MHz | 1992 | |
PowerPC 600s (G2) | 35 MIPS at 33 MHz | 1994 | |
Intel Pentium Pro | 541 MIPS at 200 MHz | 1996 | [2] |
ARM 7500FE | 35.9 MIPS at 40 MHz | 1996 | |
PowerPC G3 | 525 MIPS at 233 MHz | 1997 | |
Zilog eZ80 | 80 MIPS at 50 MHz | 1999 | [3] |
Intel Pentium III | 1354 MIPS at 500 MHz | 1999 | |
AMD Athlon | 3561 MIPS at 1.2 GHz | 2000 | |
AMD XP 2400+ | 5935 MIPS at 2.0 GHz | 2002 | |
Pentium 4 Extreme Edition | 9726 MIPS at 3.2 GHz | 2003 | |
ARM Cortex A8 | 2000 MIPS at 1.0 GHz | 2005 | [4] |
Xbox360 IBM "Xenon" Single Core | 6400 MIPS at 3.2 GHz | 2005 | |
AMD Athlon FX-57 | 12000 MIPS at 2.8 GHz | 2005 | |
AMD Athlon 64 3800+ X2 (Dual Core) | 14564 MIPS at 2.2 GHz | 2005 | [5] |
AMD Athlon FX-60 (Dual Core) | 18938 MIPS at 2.6 GHz | 2006 | [6] |
Intel Core 2 X6800 | 27079 MIPS at 2.93 GHz | 2006 | [7] |
IBM Cell BE (Single SPE) | 25600 MIPS (FLOPS) at 3.2 GHz | 2006 | [8] |
Intel Core 2 Extreme QX6700 | 61119 MIPS at 3.33 GHz | 2006 | [9] |
[edit] See also
- benchmark (computing)
- million service units (MSU)
- Peak MIPS
- Relative MIPS
- Dhrystone MIPS (DMIPS)