mem: Simple Snoop Filter
authorStephan Diestelhorst <stephan.diestelhorst@arm.com>
Sat, 20 Sep 2014 21:18:26 +0000 (17:18 -0400)
committerStephan Diestelhorst <stephan.diestelhorst@arm.com>
Sat, 20 Sep 2014 21:18:26 +0000 (17:18 -0400)
commitba98d598aef0e3823d2ded7084b1a2829ade5b73
tree34293799e079272c60320087b507e7d6e8fda26e
parent16351ba8d6b98e4dc0012cfc4083fe93ec6d76ce
mem: Simple Snoop Filter

This is a first cut at a simple snoop filter that tracks presence of lines in
the caches "above" it. The snoop filter can be applied at any given cache
hierarchy and will then handle the caches above it appropriately; there is no
need to use this only in the last-level bus.

This design currently has some limitations: missing stats, no notion of clean
evictions (these will not update the underlying snoop filter, because they are
not sent from the evicting cache down), no notion of capacity for the snoop
filter and thus no need for invalidations caused by capacity pressure in the
snoop filter. These are planned to be added on top with future change sets.
src/mem/Bus.py
src/mem/SConscript
src/mem/snoop_filter.cc [new file with mode: 0755]
src/mem/snoop_filter.hh [new file with mode: 0755]