Project #1:Simulation on Effect of Cache Configure

Data Due: 02/20/2003 midnight

In this project, you will use SimpleScalar to simulate the effect of cache configure on program performance.

Instruction

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.

Turn in your result

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

Support Files

Simulator

You will need to copy or make a link these files from /pub/projects/cpsc614/simulator/SimpleScalar/bin.

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.

Benchmarks

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 

Useful link

More information about SimpleScalar can be obtained at SimpleScalar LLC