Digital Principles and Computer Organization: Chapter 3: Computer System

Performance Metrics: MIPS, MFLOPS, CPI, Throughput

1. Defining Performance 2. CPU Execution Time 3. Basic Performance Equation 4. Performance Metrics: MIPS (Million Instructions Per Second), MFLOPS (Million Floating-Point Operations Per Second), CPI (Cycles Per Instruction), Throughput 5. Components Affecting Computer Performance. Questions: 1. What is performance? 2. Define response time and execution time. 3. What is user CPU time and system CPU time? 4. Explain the concept of relative performance with the help of example. 5. State the basic performance equation. 6. State the performance factors. 7. State the components that affects the factors in the CPU performance equation and reason behind it. 8. State the CPU performance equation and discuss the factors that affect performance. 9. Explain the important measures of the performance of a computer and derive the basic performance equation. 10. Define MIPS. 11. Define MFLOPS. 12. What is throughput?

Performance Metrics : MIPS, MFLOPS, CPI, Throughput

• Performance is one of the most important attributes of a computer. It is a key criterion in selecting a system for any application, whether it is for personal use, scientific computation, or large–scale server operations. Since users and organizations often compare systems, it becomes essential to define performance clearly and to establish standard ways of measuring it.

• There are many ways to evaluate computer performance. Some metrics emphasize speed, while others focus on efficiency, throughput, or specific computational capabilities. In this section, we define performance, study the methods of measurement, and also point out the limitations of these measurements.

 

1. Defining Performance

• When we say one computer is faster than another, we compare their speeds and observes that the faster computer runs a program in less time than other computers.

• The computer center manager running a large server system may say a computer is faster when it completes more jobs in an hour.

• The computer user is always interested in reducing the time between the start and  the completion of the program or event, i.e. reducing the execution time.

• The execution time is also referred to as response time. Reduction in response time increases the throughput (the total amount of work done in a given time). The performance of the computer is directly related to throughput and hence it is reciprocal of execution time.

PerformanceA = 1 / Execution time A

• This means that for two computers A and B if the performance of A is greater than the performance of B, we have

Performance A > Performance B

1 / Execution time A ˃ 1 / Execution time B

Execution time B > Execution time A

• That is, the execution time on B is longer than that on A, if A is faster than B.

• In discussing a computer design, we often want to relate the performance of two different computers quantitatively. We will use the phrase "A is n times faster than B" or equivalently "A is n times as fast as B" to mean.

Performance A  /    Performance B = n


• If A is n times faster than B then the execution time on B is n times longer than it is on A :


Performance A  / Performance B  = Execution time B /  Execution time A = n

Example: 1

If computer A runs a program in 10 seconds and computer B runs the same program in 25 seconds, how much faster is A than B ?

Solution :

We know that A is n times faster than B if

Performance A  / Performance B  = Execution time B /  Execution time A = n


Thus the performance ratio is

25 / 10  = 2.5

and A is therefore 2.5 times faster than B.

• In the above example, we could also say that computer B is 2.5 times slower than computer A, since

Performance A  / Performance B = 2.5

mean that

Performance A  / 2.5 = Performance B

• For simplicity, we will normally use the terminology faster than when we try to compare computers quantitatively. Because performance and execution time are reciprocals, increasing performance requires decreasing execution time. To avoid the potential confusion between the terms increasing and decreasing, we usually say "improve performance" or "improve execution time" when we mean "increase performance" and "decrease execution time".

 

2. CPU Execution Time

• The most widely used performance measure is CPU execution time, or simply CPU time. This is the amount of time the CPU spends computing for a particular task. It excludes waiting time for input/output (I/O) operations and time spent running other programs.

• CPU time can be divided into :

■ User CPU time – The time spent running the actual program instructions.

■ System CPU time – The time spent by the operating system on behalf of the program.

• Since it is difficult to assign system time accurately to a single program, CPU performance generally refers to user CPU time.

 

3. Basic Performance Equation

• The execution time of a program depends on three key factors :

1. The number of instructions in the program (N)

2. The average number of cycles per instruction (CPI)

3. The clock cycle time (or, equivalently, the clock rate R)

• The relationship is given by the basic performance equation :

T = N×CPI / R = N×CPI / Clock rate = N × CPI × Clock cycle time

where CPI : The average number of clock cycles each instruction takes to execute.

It is given by

CPI = CPU clock cycles / Instruction count

N : Number of instructions.

R : Clock rate measured in clocks/second.

• This equation shows that performance can be improved by :

■ Reducing the number of instructions executed,

■ Lowering the average CPI, or

■ Increasing the clock rate.

Example: 2

Consider three different processors, P1, P2 and P3, executing the same instruction set. P1 has a 3 GHz clock rate and a CPI of 1.5. P2 has a 2.5 GHz clock rate and a CPI of 1.0. P3 has a 4.0 GHz clock rate and has a CPI of 2.2.

a) Which processor has the highest performance expressed in instructions per second?

b) If the processors each execute a program in 10 seconds, find the number of cycles and the number of instructions executed on each processor.

Solution : Three processors P1, P2, and P3 execute the same instruction set. Their characteristics are :

• P1 : Clock rate = 3.0 GHz, CPI = 1.5

• P2 : Clock rate = 2.5 GHz, CPI = 1.0

• P3 : Clock rate = 4.0 GHz, CPI = 2.2

a) P2 has the highest performance.

Performance of P1 (instructions/sec) = 3×109 / 1.5  = 2×109

Performance of P2 (instructions/sec) = 2.5×109 / 1.0 = 2.5×109

Performance of P3 (instructions/sec) = 4.0 ×109 / 2.2 = 1. 82 × 109

b) Number of cycles = Time ×Clock rate

Cycles (P1)= 10×3×109 = 30×109

Cycles (P2) = 10×2.5×109 = 25×109

Cycles (P3) = 10×4.0×109 = 40×109

Time = (Number of instructions × CPI) / Clockrate

Number of instructions = (Time × Clock rate) / CPI  = Number of cycles / CPI

No. of Instructions (P1) = 30×109 / 1.5 = 20×109

No. of Instructions (P2) = 25×109 / 1.0 = 25×109

No. of Instructions (P3) = 40×109 / 2.2 = 18.18×109

Example: 3

Consider two different implementations of the same instruction set architecture. The instructions can be divided into four classes according to their CPI (class A, B, C and D). P1 with a clock rate of 2.5 GHz and CPIs of 1, 2, 3 and 3 respectively and P2 with a clock rate of 3 GHz and CPIs of 2, 2, 2 and 2 respectively. Given a program with a dynamic instruction count of 1.0x106 instructions divided into classes as follows : 10 % class A, 20 % class B, 50% class C and 20 % class D, which implementation is faster? What is the global CPI for each implementation? Find the clock cycles required in both cases.

Solution :

a) Class A : 105 instruction, Class B : 2×105 instruction, Class C : 5×105 instruction, Class D : 2x105 instruction.

Time = No. of instructions × CPI/Clock rate

Total time P1 = (105 + 2×105 × 2 + 5×105×3 + 2×105×3) / (2.5×109)

                      = 10.4×10–4s

Total time P2 = (105×2+2×105 ×2+5×105×2+2×105×2) / (3×109)

                     = 6.66×10–4s

CPI (P1) 10.4×10–4×2.5×109 / 106 = 2.6

CPI (P2) = 6.66×10–4×3×109 / 106 = 2.0

P2 implementation is faster.

b) Clock cycles (P1) = 105 ×1+2×105 × 2+5×105 ×3+2×105×3 = 26×105

Clock cycles (P2) = 105 ×2+2×105 × 2+5×105×2+2×105 ×2 = 20×105


4. Performance Metrics

• To evaluate and compare processors, several specific performance metrics are commonly used. Each metric captures a different aspect of system performance.

1. MIPS (Million Instructions Per Second)

• MIPS measures how many millions of instructions a processor can execute per the second :

MIPS = Instruction count / (Execution time ×106)


• It provides a simple measure of speed but does not account for instruction complexity. Different instruction sets may require different numbers of cycles, making MIPS an incomplete metric for cross–architecture comparisons.

2. MFLOPS (Million Floating–Point Operations Per Second)

• MFLOPS measures how many millions of floating–point operations a system can perform per second. It is particularly relevant in scientific and engineering applications where floating–point calculations dominate.

MFLOPS = Floating point operations / (Execution time ×106)


3. CPI (Cycles Per Instruction)

• CPI represents the average number of clock cycles required to execute one instruction :

CPI = Total CPU cycles /  Instruction count


• A smaller CPI value indicates better efficiency, since fewer cycles are needed per instruction.

4. Throughput

• Throughput measures the number of tasks, jobs, or instructions completed per unit time. For example, if a processor executes 5 instructions per nanosecond, the throughput is 5 instructions/ns.

• High throughput means that the system can handle a greater workload in less time.

 

5. Components Affecting Computer Performance

• The performance of a computer system cannot be assessed by considering only a single factor such as clock rate, CPI, or instruction count. Instead, performance depends on the combined effect of several interrelated factors. While comparing two systems, all components of performance must be carefully examined, must be carefully examined especially when some of the factors are identical. Since CPI varies the instruction mix (the dynamic frequency of different instructions in a program), both CPI and instruction count must be evaluated, even if the clock rates are the same. Furthermore, program performance is also influenced by the algorithm used, the programming language, the compiler, the instruction set architecture, and the actual hardware.

• Table 3.6.1 summarizes the components that influence computer performance and the specific factors they affect in the CPU performance equation.



Review Questions

1. What is performance?

2. Define response time and execution time.

3. What is user CPU time and system CPU time?

4. Explain the concept of relative performance with the help of example.

5. State the basic performance equation.

6. State the performance factors.

7. State the components that affects the factors in the CPU performance equation and reason behind it.

8. State the CPU performance equation and discuss the factors that affect performance.

9. Explain the important measures of the performance of a computer and derive the basic performance equation.

10. Define MIPS.

11. Define MFLOPS.

12. What is throughput?

 

Digital Principles and Computer Organization: Chapter 3: Computer System : Tag: : - Performance Metrics: MIPS, MFLOPS, CPI, Throughput


Digital Principles and Computer Organization: Chapter 3: Computer System



Under Subject


Digital Principles and Computer Organization

CS25C06 2nd Semester AIDS, CSE, IT, CSE(CY) Dept | 2025 Regulation | 2nd Semester 2025 Regulation



Related Subjects


English Essentials II

EN25C02 2nd Semester | 2025 Regulation | 2nd Semester 2025 Regulation



Linear Algebra

MA25C02 2nd Semester | 2025 Regulation


Applied Physics (CSIE) II

PH25C03 2nd Semester AIDS, CSE, IT, CSE(CY) Dept | 2025 Regulation | 2nd Semester 2025 Regulation


Digital Principles and Computer Organization

CS25C06 2nd Semester AIDS, CSE, IT, CSE(CY) Dept | 2025 Regulation | 2nd Semester 2025 Regulation


Basic Electrical and Electronics Engineering

EE25C01 2nd Semester | 2025 Regulation | 2nd Semester 2025 Regulation


Python for Data Science

AD25201 2nd Semester AIDS Dept | 2025 Regulation | 2nd Semester 2025 Regulation


Re-Engineering for Innovation

ME25C05 2nd Semester | 2025 Regulation | 2nd Semester 2025 Regulation


Python for Data Science - Laboratory

AD25201 2nd Semester AIDS Dept | 2025 Regulation | 2nd Semester 2025 Regulation