CS代写:CS203SimpleScalar


熟悉 SimpleScalar 模拟器的使用方法。
SimpleScalar

Introduction to ISA using SimpleScalar

In this exercise, you will run some Benchmarks to find out the distribution of
instructions they execute. You will use sim-profile simulator (discussed in
the “Introdution to SimpleScalar” webpage) available in the SimpleScalar
toolset for this purpose. In the first part of this lab, you will use
SimpleScalar configured for ALPHA ISA while in the second part, you will use
both ALPHA and PISA configuration. If you want to run other benchmarks, they
are available at www.simplescalar.com in the Benchmarks section.
Note: Results of simulation may vary over multiple runs and among students in
all the labs. This fact is stated at www.simplescalar.com. You should see FAQ
section at this website. But the results will be consistent which means they
will make sense.

Part 1

Quick fact about sim-profile simulator
It is a dynamic instruction profiler which means it collects information about
instructions as they are executed by the simulator. Note that it is a
functional simulator and not a detailed timing simulator as sim-outorder.
All the simulators including sim-profile are available in the
home/simplesim-3.0 directory.
Go to home/simplesim-3.0 directory and type the following to seek help about
sim-profile.
home/simplesim-3.0$./sim-profile -h
Help can also be invoked just by typing simulator name without any arguments.
Go through help. Now use this help information to execute the following four
benchmarks available in this tar file.
Click benchmarks.tar.gz to download this file. Unzip and Untar this file in a
directory e.g. /home/benchmark directory.
The information on how to execute these benchmarks using sim-safe is available
in the README file which is also in the home/benchmark directory. Replace sim-
safe with sim-profile and add information using sim-profile help to fill out
the following table

  1. anagram: a program for finding anagrams for a phrase, based on a dictionary.
  2. compress: (SPEC) compresses and decompresses a file in memory.
  3. go: Artificial intelligence; plays the game of go against itself.
  4. gcc:(SPEC) limited version of gcc.
    Now answer the following questions for each individual benchmark executed
    above
  5. Is the benchmark memory intensive or computation intensive?
  6. Is the benchmark mainly using integer or floating point computations?
  7. What % of the instructions executed are conditional branches? Given this %, how many instructions on average does the processor execute between each pair of conditional branch instructions (do not include the conditional branch instructions)

Part 2

In this part, you will compare the PISA and Alpha ISA by executing the same
benchmarks on the two configurations.
Since the configuration from part 1 is still Alpha, execute the following
benchmarks available in the home/simplesim-3.0/tests-alpha/bin/ directory
using sim-profile and record the results in the following table.

  1. test-math: performs various math computations mostly in integer and displays their result.
  2. test-fmath: performs various math functions mostly in integer.
  3. test-llong: performs computations in long format.
  4. test-printf: displays various print statements.
    Now change configuration to PISA by typing the following three commands in a
    sequence.
    home/simplesim-3.0 $./make clean
    home/simplesim-3.0 $./make config-pisa
    home/simplesim-3.0 $./make
    To change configuration back to Alpha, execute the same command sequence
    except that in the second command replace config-pisa by config-alpha.
    Now execute the following benchmarks available in the
    home/simplesim-3.0/tests-pisa/bin/ directory using sim-profile and record the
    results in the following table.
    Now compare the two ISAs using a plot (a Histogram is preferred). Use MATLAB
    or EXCEL to plot the histogram.
    What can you conclude about the two ISAs from the Histogram

文章作者: SafePoker
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 SafePoker !
  目录