Page 78 -
P. 78

2.5 / PERFORMANCE ASSESSMENT 53

                       The average CPI when the program is executed on a uniprocessor with the
                  above trace results is  CPI =  0.6 +  (2 *  0.18) +  (4 *  0.12) +  (8 *  0.1) =  2.24.
                  The corresponding MIPS rate is (400 *  10 ) (2.24 *   10 ) L  178.
                                                                   6
                                                       6
                       Another common performance measure deals only with floating-point in-
                  structions. These are common in many scientific and game applications. Floating-
                  point performance is expressed as millions of floating-point operations per second
                  (MFLOPS), defined as follows:
                                     Number of executed floating-point operations in a program
                     MFLOPS rate =
                                                     Execution time * 10 6

                  Benchmarks

                  Measures such as MIPS and MFLOPS have proven inadequate to evaluating the
                  performance of processors. Because of differences in instruction sets, the instruction
                  execution rate is not a valid means of comparing the performance of different archi-
                  tectures. For example, consider this high-level language statement:

                            A = B + C     /* assume all quantities in main memory */

                       With a traditional instruction set architecture,referred to as a complex instruction
                  set computer (CISC), this instruction can be compiled into one processor instruction:

                            add    mem(B), mem(C), mem (A)

                       On a typical RISC machine, the compilation would look something like this:

                            load   mem(B), reg(1);
                            load   mem(C), reg(2);
                            add    reg(1), reg(2), reg(3);
                            store reg(3), mem (A)

                       Because of the nature of the RISC architecture (discussed in Chapter 13),
                  both machines may execute the original high-level language instruction in about the
                  same time. If this example is representative of the two machines, then if the CISC
                  machine is rated at 1 MIPS, the RISC machine would be rated at 4 MIPS. But both
                  do the same amount of high-level language work in the same amount of time.
                       Further, the performance of a given processor on a given program may not be
                  useful in determining how that processor will perform on a very different type of ap-
                  plication.Accordingly, beginning in the late 1980s and early 1990s, industry and aca-
                  demic interest shifted to measuring the performance of systems using a set of
                  benchmark programs. The same set of programs can be run on different machines
                  and the execution times compared.
                       [WEIC90] lists the following as desirable characteristics of a benchmark
                  program:
                    1. It is written in a high-level language,making it portable across different machines.
                    2. It is representative of a particular kind of programming style, such as systems
                       programming, numerical programming, or commercial programming.
   73   74   75   76   77   78   79   80   81   82   83