ArticleslgStudy

computer science

Instructions per second

Instructions per second is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Instructions per second rather than just read about it. In short: Instructions per second (IPS) is a measure of a computer's processor speed. For complex instruction set computers (CISCs), 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.

Instructions per second — main illustration
Instructions per second — illustration

Key takeaways

  • Instructions per second belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Instructions per second to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Instructions per second from memory before moving on to harder problems.

Reference excerpt

Instructions per second (IPS) is a measure of a computer's processor speed. For complex instruction set computers (CISCs), 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 metric prefix (k, M, G, T, P, or E) to form kilo instructions per second (kIPS), mega instructions per second (MIPS), giga instructions per second (GIPS) and so on. Formerly TIPS was used occasionally for "thousand IPS".

Computing IPS can be calculated using this equation:

IPS = sockets × cores chip × clock × Is cycle {\displaystyle {\text{IPS}}={\text{sockets}}\times {\frac {\text{cores}}{\text{chip}}}\times {\text{clock}}\times {\frac {\text{Is}}{\text{cycle}}}}

However, the instructions/cycle measurement depends on the instruction sequence, the data and external factors.

Scaling units For the most early 8-bit and 16-bit microprocessors, performance was measured in thousand instructions per second, or kilo instructions per second (kIPS). The term "mega instructions per second" became useful in the late 1970s. The IBM System/370 model 158–3 and the VAX-11/780 were considered roughly equivalent at 1 MIPS.

Types of instruction 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 (problematic in CPU pipelines). 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 (e.g. PIC microcontrollers), but they are difficult to compare between differing CPU architectures, especially between RISC and CISC architectures. This led to the term "Meaningless Indicator of Processor Speed," or less commonly, "Meaningless Indices of Performance," being popular amongst technical people by the mid-1980s.

The Gibson Mix (1959) 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 (kIPS). Among the first attempts at defining a specific collections of instructions to time was the Gibson Mix, produced by Jack Clark Gibson of IBM for scientific applications in 1959. Gibson divided computer instructions into 12 classes, based on the IBM 704 architecture, adding a 13th class to account for indexing time. Weights were primarily based on analysis of seven scientific programs run on the 704, with a small contribution from some IBM 650 programs. The overall score was then the weighted sum of the average execution speed for instructions in each class.

The Gibson Mix is a product of its era, when computer speeds were still measured in kIPS. Other ratings, such as the ADP mix which does not include floating point operations, were produced for commercial applications. These early ratings were nowhere as systemic as the later approaches, although the idea of creating a benchmark to resemble real-world applications (later called a "synthetic benchmark") would persist.

Two flavors of VAX MIPS The VAX-11/780 was released in 1977. It was marketed as being able to execute the equivalent of 1 million System/370 instructions per second, the first minicomputer to achieve such a speed. VAX-11/780 would quickly become a unit of reference for MIPS measurements, in two separate benchmarks:

The Whetstone benchmark of 1972 was modified in 1980 to combine three of its integer-operation speed measures into a "VAX MIPS". It originally included a mix of 42 statements written in ALGOL 60 (124 instructions on the KDF9 compiler), though by 1980 it had been rewritten in Fortran. The integer-and-string-heavy Dhrystone benchmark of 1984 inherited the idea of using VAX as a MIPS reference. Its results were reported in "DMIPS", for Dhrystone MIPS. Each Dhrystone MIPS was defined as the ability to run the Dhrystone main loop 1757 times per second, the score VAX-11/780 received on this benchmark.

Other instruction mixes zMIPS refers to the MIPS measure used internally by IBM to rate its mainframe servers (zSeries, IBM System z9, and IBM System z10). Weighted million operations per second (WMOPS) is a similar measurement, used for audio codecs.

Other factors that affect instructions per second Effective MIPS speeds are highly dependent on the programming language used: some compilers generate highly-efficient code, others do not. 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 (1982) when a 4.8 MHz 8088/87 CPU obtained 0.01 MWIPS. Results on a 2.4 GHz Intel Core 2 Duo (1 CPU 2007) 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.

Timeline of instructions per second

CPU results

Multi-CPU cluster results

See also TOP500 Floating point operations per second (FLOPS) SUPS Benchmark (computing) BogoMips (measurement of CPU speed made by the Linux kernel) Instructions per cycle Cycles per instruction Dhrystone (benchmark) - DMIPS integer benchmark Whetstone (benchmark) - floating-point benchmark Million service units (MSU) Computer performance by orders of magnitude Performance per watt Data-rate units

References

Illustrations

Instructions per second: Computer processing efficiency, measured as the power needed per million instructions per second (watts per MIPS)
Computer processing efficiency, measured as the power needed per million instructions per second (watts per MIPS)

Worked examples

Example 1 — a first encounter with Instructions per second

Start with the simplest possible case. Write down what Instructions per second claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Instructions per second before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Instructions per second ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Instructions per second

In research
Instructions per second appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Instructions per second in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Instructions per second is common in secondary-school and first-year university syllabi. It links to neighbouring topics Computer performance, Units of frequency, so understanding it makes those chapters shorter.
In everyday life
Look for Instructions per second outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Instructions per second in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Instructions per second means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Instructions per second out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Instructions per second in simple terms?

Instructions per second (IPS) is a measure of a computer's processor speed. For complex instruction set computers (CISCs), 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 measuremen…

Why does Instructions per second matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Instructions per second?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Instructions per second.

Tags

  • Computer performance
  • Units of frequency

Keep exploring