Evaluation of Victim Cache in a Single-Thread and Simultaneous Multithread CPU
The main reason to use the simultaneous multithreading in computer systems is to improve the performance. While using multiple threads in CPU, memory becomes a bottleneck for performance improvement because the memory is shared between different threads. If the amount of time to retrieve data is reduced, then the overall performance of the system can increase. Victim cache is a small memory which is used to address this bottleneck created by memory. This thesis evaluates the improvement that can be achieved using victim cache for data memory. Evaluation is done on a single threaded system and a two threaded system on M-sim simulator. The results shows that the improvement for single threaded system is 0.14% to 1.2% for different size of the victim cache. Single threaded improvement decreases as multithreaded case, the improvement was very low which can be due to constant switching between threads which leads to low cache hits. At the end, few modifications to victim cache are described to achieve ideal improvement. Spec2006 benchmarks were used to evaluate the machine with victim cache.