### Homework #3

Problems for this homework are from the textbook with some of alterations made by your instructor.

1. 3.1 (page 155) (5 points)

2. 3.2 (page 155) (5 points)

3. 3.3 (page 155) (5 points)

4. 3.4 (page 156) (5 points)

5. 3.5 (page 156) (5 points)

6. 3.6 (page 156) (5 points)

7. 3.7 (page 156) (10 points)

8. 3.8 (page 156) (10 points)

9. 3.23 (page 158) (20 points)

10. 3.20 & 3.21 (page 156) In addition, you will use the trace files you can find at

```/a/apps/Dinero/traces/benchmarks/cc1.din
/a/apps/Dinero/traces/benchmarks/spice.din
```

on the deltas to calculate:

• the percentage of all memory accesses that are for data (vs. instructions)
• the percentage of all memory accesses that are reads (vs. writes)
• the average number of memory accesses per instruction

Each record in the trace file contains two fields: the first indicates what operation is performed (0: read data, 1: write data 2: instruction fetch, 3 and 4 indicate an unknown access type and a cache flush respectively) and the second is the address in hexadecimal. Comment based on the results you obtain. This problem is worth 80 points.

11. 2.30 (page 88) The two computers will be an IBM-PC compatible an a UNIX workstation (one of the deltas for instance). For the `real' C program you will use the one you wrote for HW1. The program that finds the peak MIPS of the computer(s) will print a message indicating the rating. Attach the source code to your paper.

This problem is worth 80 points.

Maximum mark: 230 (100%)