Mips and Mflops.doc - Using MIPS and MFLOPS as Performance Metrics One alternative way to measure CPU performance is MIPS or million instructions per

Mips and Mflops.doc - Using MIPS and MFLOPS as Performance...

This preview shows page 1 - 4 out of 5 pages.

Using MIPS and MFLOPS as Performance Metrics: One alternative way to measure CPU performance is MIPS, or million instructions per second. For a given program, MIPS is given by Since MIPS is a rate of operations per unit time, CPU performance can be specified as the inverse of execution time, with faster machines having a higher MIPS rating. How-ever, according to the Patterson and Hennessy, there are problems with using MIPS as a performance metric. MIPS is dependent on the instruction set of the CPU, making it di±cult to compare the MIPS ratings of processors with different instruction sets. MIPS can vary inversely to performance. Consider the MIPS rating of a processor with an optional Floating-point unit. Since it generally takes more clock cycles per Floating-point instruction that per integer instruction, Floating-point programs using the optional hardware instead of software Floating-point routines take less time but have a lower MIPS rating. A software Floating-point routine executes simpler instructions, resulting in a higher MIPS rating, but it executes so many more instructions that the overall execution time is longer. We can see similar anomalies with optimizing compilers as the following example demonstrates. Example. Let us assume that you have profiled your code and the instruction mix is detailed in Table 1. We now want to build an optimizing compiler for the CPU. The compiler discards 50% of the ALU instructions although it cannot reduce loads, stores, or branches. Assuming a 20-ns clock cycle time (or a 50-MHz clock), what is the MIPS rating for the optimized code versus the un optimized code? Does the MIPS rating agree with the ranking of execution time?
Image of page 1
The MFLOPS rating is dependent on the machine and on the program, and since MFLOPS are intended to measure Floating-point performance, they are not applicable outside that range. For example, compilers have a MFLOPS rating of nearly zero no matter how fast the CPU is since compilers rarely use Floating-point arithmetic. When comparing the performance of different machines, MFLOPS is not dependable because the set of Floating-point operations is not consistent across machines.
Image of page 2
MIPS : In the context of CPU performance measurement, MIPS stands for 'Million Instructions Per Second'. The MIPS rating of a CPU refers to how many low-level machine code instructions a processor can execute in one second. Unfortunately, using this number as a
Image of page 3
Image of page 4

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture