Snoopy cache

In computing a snoopy cache is a type of memory cache that performs bus sniffing. The technique was introduced by Ravishankar and Goodman in 1983.[1]

Such caches are used in systems where many processors or computers share the same memory and each have their own cache. In such systems processor 'A' may read a value from memory, then processor 'B' does the same. If either of the processors now change the value by writing back to memory they will invalidate the other processor's cached value.

In order to prevent this and maintain cache coherence, snoopy caches monitor ('snoop on') the memory bus to detect any writes to values that they are holding, even if these changes are coming from other processors or distributed computers.

However, this approach can only work in computer architectures like SGI Challenge and SGI Onyx where a single memory bus is shared between all processors.

References

  1. Ravishankar, Chinya; Goodman, James (February 28, 1983). "Cache Implementation for Multiple Microprocessors". Proceedings of IEEE COMPCON: 346–350.