CS/ECE 752 Advanced Computer Architecture I

 
Spring 2007
Instructor: Karu Sankaralingam; URL: http://www.cs.wisc.edu/~karu
Meeting time: MECH ENGR 1143, 01:00 PM - 02:15 PM, MWF
Office hours: Monday,Wednesday 3-4pm, Thursday: 11-12am
TA: Derek Hower
Course URL: http://www.cs.wisc.edu/~karu/courses/cs752/Spring2007/
Mailing list: compsci752-1-s07@lists.wisc.edu

 

FAQ and Clarifications

 

  1. For problem 1 in HW3 you need to determine only the L1-Data cache size. You can ignore the level 2 cache and the L1-Instruction cache.

     

  2. For the 2nd part of problem 1 you will need to use some form of a time routine to determine program execution time. You can use the C library call gettimeofday() or any thing else.

     

  3. sim-fast does not have support for running only 500 million instructions...I don't see an option for sim-fast to restrict how long it will run gcc. The dumped config file is below. Is there some other way we are supposed to do the that I am missing?

     

    Part of the homework is to add support for this. If you find this too cumbersome and to make automated grading easy I have created a version of sim-fast.c with this support. Download it from here. Copy this into your simplescalar directory and do

    make clean
    make sim-fast
    
    You should then be able to do this following:
    sh> sim-fast -max:inst 5000 myprog.exe
    Which will simulate 5000 instructions.

     

  4. Command line for Problem 3:
    sh> sim-fast -max:inst 500000000 /unsup/spec2000/benchspec/CINT2000/176.gcc/exe/cc1_peak.ev6 integrate.i -o integrate.s
    
    Note: I want you all to the use the peak version of gcc, not base (which is what you used for hw2). Peak makes more sense because it is an optimized binary.

     

  5. ISA for problem 3?

     

    For problem 3 you will be simulating a machine that uses Alpha ISA. SPEC2000 program binaries for that ISA are easier to use and are already available on /unsup/spec2000. To ensure that your simulator is configured to simulate the Alpha ISA make sure you do the following:
    make clean
    make config-alpha
    make sim-fast
    
    Problems 1 and 2 use a different ISA called PISA, but you do not need to modify the simulator for working on those problems. You will simply use a pre-compiled simulator that I have made available for download.

     

  6. For problem 3, when we are counting conflicts, if a load matches multiple past instructions, should we increment the conflict-counter only once?

     

    Good question - there are different ways to slice and dice this analysis. For this homework, just increment by once matching the latest instance for a load and a store. See below para also.

     

  7. Also, if it matches both a previous load and a previous store, should we increment both the load-load and load-store conflict counters? Or should we increment the right(load-load or load-store) conflict counter for the most recent conflict?

     

    You need to increment once for one previous load (if found) and once for one previous store (if found). So the total will be incremented by 2.