An Interactive MESI Cache Coherence Simulator for Educational Purposes
Dimitris Kehagias, Ioannis Raptis · 2016
In multi-processor systems data can reside in multiple levels of cache, as well as in main memory. The problem of keeping the data consistent among all caches and memory is known as the cache coherence problem. There are different protocols to solve this problem. The MESI (Modified-Exclusive-Shared-Invalid) cache coherence protocol is one of them. In this paper, an educational MESI cache coherence simulator is presented that shows with animation how the MESI protocol works. It is targeted to be used for teaching and learning the cache memory coherence in advanced computer architecture courses. The simulator enables interactive communication with students and is implemented in Unity Engine and Visual Studio IDE using scripts in C#.