In this project, I implemented simulations of three approaches to implementation of cache, written in C. Cache-fa stands for cache full associative and cache-dm stands for cache direct map. Each cache implementation has its own advantages and disadvantages and may be chosen depending on the context of the situation. In general, given an arbitrary inputs of addresses, Cache-8-way shows to be the fastest and the one with the most hit.