mem: Make cache terminology easier to understand
This patch changes the name of a bunch of packet flags and MSHR member functions and variables to make the coherency protocol easier to understand. In addition the patch adds and updates lots of descriptions, explicitly spelling out assumptions. The following name changes are made: * the packet memInhibit flag is renamed to cacheResponding * the packet sharedAsserted flag is renamed to hasSharers * the packet NeedsExclusive attribute is renamed to NeedsWritable * the packet isSupplyExclusive is renamed responderHadWritable * the MSHR pendingDirty is renamed to pendingModified The cache states, Modified, Owned, Exclusive, Shared are also called out in the cache and MSHR code to make it easier to understand.
This commit is contained in:
13
src/mem/cache/cache.hh
vendored
13
src/mem/cache/cache.hh
vendored
@@ -472,13 +472,14 @@ class Cache : public BaseCache
|
||||
PacketPtr getTimingPacket();
|
||||
|
||||
/**
|
||||
* Marks a request as in service (sent on the bus). This can have
|
||||
* side effect since storage for no response commands is
|
||||
* deallocated once they are successfully sent. Also remember if
|
||||
* we are expecting a dirty response from another cache,
|
||||
* effectively making this MSHR the ordering point.
|
||||
* Marks a request as in service (sent downstream in the memory
|
||||
* system). This can have side effect since storage for no
|
||||
* response commands is deallocated once they are successfully
|
||||
* sent. Also remember if we are expecting a Modified (dirty and
|
||||
* writable) response from another cache, effectively making this
|
||||
* MSHR the ordering point.
|
||||
*/
|
||||
void markInService(MSHR *mshr, bool pending_dirty_resp);
|
||||
void markInService(MSHR *mshr, bool pending_modified_resp);
|
||||
|
||||
/**
|
||||
* Return whether there are any outstanding misses.
|
||||
|
||||
Reference in New Issue
Block a user