AN INTERACTIVE ANIMATION FOR LEARNING HOW CACHE COHERENCE PROTOCOLS WORK

Alberto Alcón Laguéns, Sergio Barrachina, Enrique S. Quintana–Ort́ı · 2011

One of the problems a multiprocessor has to deal with is cache coherence. To put it into simple words, the memory system is coherent when each piece of data is up-to-date in all caches as well as in the main memory of the multiprocessor. A variety of protocols (algorithms) can be used to maintain memory coherence. To introduce how these protocols work to our students, we looked for simulation tools or animations that show changes in the cache blocks, transitions between states, messages that were generated, etc. Although we found some multiprocessor simulators, they were far too complex as they really were not meant to illustrate how the cache coherence protocols worked. On the other hand, unfortunately, the animations we found did not address all the details that should be covered in our computer architecture course. To solve this problem, we have developed a flash interactive animation that shows how some of the most frequently used cache coherence protocols work: MSI and MESI snoopy protocols and the MESI directory protocol. For each protocol, a sequence of read and write operations illustrates all possible situations that can take place in each protocol. The tool is interactive in that the student can go forward and backward to understand/study the different actions that occur at each step.

Read the paper · More papers on PaperTik