CMSC 411, Spring 2015

Computer Architecture

Project 2 - Full Cache Simulator

Project 2 - Full Cache Simulator and Report

Due 3:30pm Thursday, May 7th, 2015

Part 1: Full Cache Simulator

You will need to extend your trace-driven cache simulator from project 1 to handle different cache configurations, and use it to evaluate the performance of different cache architecture features. Some additional example test outputs for different cache configurations are provided.

Getting Started

Download the following archive file and extract its contents. Copy cache.c from project 1 into the code directory.

Along with files used to make direct submissions to the submit server (submit.jar, .submit), you will find the following new project files:

You should also run your simulator using the full application traces (spice.trace, cc.trace, tex.trace) from project 1 to ensure your simulator works properly.

Part 2: Cache Simulation Study

You will use your trace-driven cache simulator from project 2 to evaluate the performance of different cache configurations, using the full application traces (spice.trace, cc.trace, tex.trace) found in from project 1.

You need to evaluate four cache parameters:

  1. Impact of cache size (find working set size for each application)
  2. Impact of block size
  3. Impact of associativity
  4. Impact of write policy (effect of write-through vs. write-back on memory traffic)
Details are described in sim.pdf.

Write up your performance evaluation as a 4-5 page report. Place your results in charts (using programs such Excel), and devote 1-2 paragraphs of text explaining your results (and answering questions) for each section.


Solution to part 1 must be submitted to submit server. All your code should be in the file cache.c. You can submit your project directly to the submit server via its web interface here.

You may also submit your project directly by executing a Java program on a computer with Java and network access. Use the submit.jar file from the archive, To submit, go to the directory containing your project and type the following command:

java -jar submit.jar

You will be asked to enter your class account and password, then all files in the directory (and its subdirectories) will be put in a jar file and submitted to the submit server. If your submission is successful you will see the message:

Successful submission # received for project 2

For part 2, submit a hard copy of your report before class starts at 3:30pm.

Academic Integrity

The Campus Senate has adopted a policy asking students to include the following statement on each assignment in every course: "I pledge on my honor that I have not given or received any unauthorized assistance on this assignment." Consequently your program is requested to contain this pledge in a comment near the top.

Please carefully read the academic honesty section of the course syllabus. Any evidence of impermissible cooperation on projects, use of disallowed materials or resources, or unauthorized use of computer accounts, will be submitted to the Student Honor Council, which could result in an XF for the course, or suspension or expulsion from the University. Be sure you understand what you are and what you are not permitted to do in regards to academic integrity when it comes to project assignments. These policies apply to all students, and the Student Honor Council does not consider lack of knowledge of the policies to be a defense for violating them. Full information is found in the course syllabus---please review it at this time.

Web Accessibility