Data Due: 02/20/2003 midnight
In this project, you will use SimpleScalar to simulate the effect of cache configure on program performance.
1. Get familiar with SimpleScalar. Learn how to use the simulators provided by SimpleScalar
2. Finish exercise 5.12(d) on the textbook. In case some one has no textbook in hand, I copied it here:
Smith and Goodman found that for a given small size, a direct-mapped instruction cache consistently outperformed a fully associative instruction cache using LRU replacement. Use a cache simulator to see if Smith and Goodman's results hold for memory reference traces that you have access to. If they do not hold, why not?
You will need to do this project in a group of up to 4 people. Please send me an email with names and email addresses of all group members as soon as possible. Each group will be assigned different benchmark for simulation. Once I get a email from your group, I will assign your group a benchmark to be used in this project. So, the sooner you send me an email, the sooner you can start the project.
Please use "turnin" command to turn in the softcopy of the simulation output file and your report. The report need to be a .pdf or asci file. Please make a tar file from your output and report, and turn in the tar file by using this command
turnin 614-600 your-tar-file
Also, you can play with the following simulators
And there are compiling tools to generate SimpleScalar Binaries. To use these three compiling tools, please modify path variable in your .login or .cshrc file, by adding this command:
set path = ($path /pub/projects/cpsc614/simulator/SimpleScalar/bin)
Other utilities
Or you can simply set path in your .login or .cshrc file to /pub/projects/cpsc614/simulator/SimpleScalar/bin.
Precompiled binary benchmark files, SPEC95, can be obtained from /pub/projects/cpsc614/simulator/SimpleScalar/spec95-big. And the corresponding input files for benchmarks can be found in data/ directory under the directory where benchmarks reside. You will need to send me an email with all group members' names and email addresses. One email for each group. Then I will tell you which benchmark should be used for your group.
This is an example command to run a simulation on a benchmark.
sim-fast benchmark_name [benchmark_opts]
If there is an input file for the benchmark, you may use the following command
sim-fast benchmark_name < benchmark.input
To put the output to a file, use this command
sim-fast benchmark_name < benchmark.input >& out.dat
More information about SimpleScalar can be obtained at SimpleScalar LLC