Computer Using Benchmarks
Computer Using Benchmarks
set
architecture. Different types of instructions; ALU operation is 50 percent, load instruction is
20 percent, store instruction 10 percent, branch instruction 20 percent and these are the
corresponding CPI and these are the frequency of appearance in a particular program.
So, for the particular instruction mix and you can find out the overall CPI in this way 1 into
0.4 plus 2 into 0.27 plus 2 into 0.13 plus 5 into 0.2. This gives you overall CPI of 2.2. So, for
a particular program we find this how one can calculate CPI.
Now, whenever you try to measure performance, you have to use some program, what kind
of program; these programs are known as benchmark programs. You can see the benchmark
programs can have 5 different levels. Number 1 is real applications, real applications that will
be running in your computer, like compilers, editors, various scientific programs, graphics
application and so on. And unfortunately for these real applications there is a problem of
portability because, these applications will be dependent on the operating system, as well as
on the compiler. For different computers the operating system can be different, compiler can
be different, as a result, portability is a problem whenever try to compare the performance of
real applications.
So, instead of that, one can consider modified application, you consider a particular
application then you modify a particular application and tailor it and improve the portability.
So, the portability is improved or it can test specific features of the CPU. The specific
features of the CPU that means, graphic feature or digital signal application, DSP features
that may be present. Those particular aspects can be specially tested by modifying the
applications. Then, the third level of benchmark known as kernels. Kernels are very small
and key pieces of real applications and since these programs are very simple can be 10 to 100
lines of code and examples those are Livermore loops, 24 loop kernels and LINPAC linear
algebra package. This can be used as a measure of the performance. So, these are known as
the kernels.
And the forth category is toy benchmarks, which are also simple program may be 10 to 100
lines of code and which are easy to type and run on almost all computers. And these are the
applications which are typically given as assignment to the students may be in the first year.
Like quick sort, merge sort; these programs can be used, can be considered as toy
benchmarks, which can be used for the purpose of testing. However, there is another level,
which is known as synthetic benchmarks. Synthetic benchmark means you have created
benchmarks to analyze the distribution of instructions over a large number of practical
programs.
That means, you have instruction set architecture, even to test how different type of
instructions are executed by the processor. So, some synthetic benchmarks are created and
synthesize a program that has the same instruction distribution as a typical program.
However, these programs have no real meaning to an user because, they do not give you any
meaningful result and examples of this synthetic program are Dhrystone Khornerstone,
LINPAC these are the some older benchmark problems.