You will be implementing the CacheSim class that has been started in the cachesim.h
and cachesim.cpp files. To test your cachesim implementation, we will be calling
the constructor with the following parameters:
- L1_size - L1 cache size in bytes
- L1_assoc - L1 set associativity
- L1_blocksize - L1 blocksize in bytes
- L2_size - L2 cache size in bytes
- L2_assoc - L2 set associativity
- L2_blocksize - L2 blocksize in bytes
- L2_type - whether the L2 cache should be exclusive or inclusive
Your cache simulator should satisfy the following requirements and
can make the following assumptions: