Group Members:
Student ID:
Note: Only leave sections blank if they are not yet implemented. We will verify that your code matches the data in your report. Any inconsistencies will result in double point deductions.
Description of how the split cache (ICache and DCache) is implemented and the main differences compared to unified cache.
Detailed explanation of key implementation methods, especially the design of the ICache class and the simulation method for parallel access.
| Trace File | Cache Type | Miss Count | Expected Miss Count | Total Cycles | Expected Total Cycles |
|---|---|---|---|---|---|
| I.trace | Split Cache | 512 | 41088 | ||
| I.trace | Unified Cache | 384 | 54912 | ||
| D.trace | Split Cache | 634 | 67584 | ||
| D.trace | Unified Cache | 507 | 68141 |
Analysis of performance differences between split cache and unified cache for different trace files, explaining the observed results.
| Cache Level | Read Count | Write Count | Hit Count | Miss Count | Miss Rate | Total Cycles |
|---|---|---|---|---|---|---|
| L1 | 181,708 | 50,903 | 177,911 | 54,700 | 23.5% | 717,519 |
| L2 | 47,667 | 7,033 | 25,574 | 29,126 | 53.1% | 888,292 |
| L3 | 26,984 | 2,142 | 21,596 | 7,530 | 25.9% | 1,184,920 |
| Cache Level | Read Count | Write Count | Hit Count | Miss Count | Miss Rate | Total Cycles |
|---|---|---|---|---|---|---|
| L1 | ||||||
| L2 | ||||||
| L3 |
(Choose one optimization technique for each trace file)
No Optimization means, just use the initial code to run simulation.
| Trace | Optimization | Miss Count | Miss Rate | Expected Miss Rate |
|---|---|---|---|---|
| test1.trace | No Optimization | None | ||
| test1.trace | 0.371% | |||
| test2.trace | No Optimization | None | ||
| test2.trace | 5.803% | |||
| test3.trace | No Optimization | None | ||
| test3.trace | 0.372% |
| Implementation | Read Count | Write Count | Hit Count | Miss Count | Miss Rate | Total Cycles |
|---|---|---|---|---|---|---|
| matmul0 | ||||||
| matmul1 | ||||||
| matmul2 | ||||||
| matmul3 | ||||||
| matmul4 |