CacheSimulator Simulates three different cache types, Direct Mapped, Fully Associative, and Set Associative, using an array of pre-determined memory accesses. Includes functions to print the states of the cache at any point in time.