Search code examples
multicoremesi

Where and how is the MESI cache coherence protocol implemented?


I know the MESI protocol is used to implement cache coherence in multiprocessor systems. But I don't know how its implemented. Any help on this is very much appreciated.


Solution

  • The cache coherence protocols are in general implemented in hardware (inside the CPU or accompanying chip sets). An operating system usually only sets up the cachable region of the system memory and has some control of the cache state, but the actual protocol is hardware specific.

    For a reference on how to control caching details on Intels CPUs you can read the Intel® 64 and IA-32 Architectures Software Developer's Manual Volume 3A: System Programming Guide(chapter 11). But this only covers the details that are under the control of software or the operating system.