Ruby: Updates MOESI Hammer protocol
authorNilay Vaish <nilay@cs.wisc.edu>
Wed, 5 Jan 2011 03:40:49 +0000 (21:40 -0600)
committerNilay Vaish <nilay@cs.wisc.edu>
Wed, 5 Jan 2011 03:40:49 +0000 (21:40 -0600)
commitd36cc62c117c2ec37dd99b1e55f3663f4af65b8d
tree7d08abe98f96f57f98847132ceae5d2af6ee1e5a
parent498ea0bdab4d092a9c7dad648f80d1132fd7e145
Ruby: Updates MOESI Hammer protocol
This patch changes the manner in which data is copied from L1 to L2 cache in
the implementation of the Hammer's cache coherence protocol. Earlier, data was
copied directly from one cache entry to another. This has been broken in to
two parts. First, the data is copied from the source cache entry to a
transaction buffer entry. Then, data is copied from the transaction buffer
entry to the destination cache entry.

This has been done to maintain the invariant - at any given instant, multiple
caches under a controller are exclusive with respect to each other.
src/mem/protocol/MOESI_hammer-cache.sm