mem-ruby: MESI_Three_Level discriminate L0 invalidation reason
authorTimothy Hayes <timothy.hayes@arm.com>
Fri, 18 Oct 2019 16:19:03 +0000 (17:19 +0100)
committerGiacomo Travaglini <giacomo.travaglini@arm.com>
Fri, 20 Mar 2020 13:25:11 +0000 (13:25 +0000)
commit2c8b7bfe5251d201bdfbd2720d3da3b593139a4e
tree7c9fa37eec372271136530f47bed92d9b4aca7c0
parenta3d348cca75ec7c2b7d24e1ea98cd54ec65c0c87
mem-ruby: MESI_Three_Level discriminate L0 invalidation reason

The L0 cache can now know whether a line is being invalidated
due to this cache/core's own requirements, e.g. a load from the core
causing a line eviction, or due to another cache/core's requirements,
e.g. a remote cache requesting a present line in exclusive state.

Change-Id: If57bfb92b6c8f575ca47d984606be7c859dcff9a
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24259
Tested-by: Gem5 Cloud Project GCB service account <345032938727@cloudbuild.gserviceaccount.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
src/mem/ruby/protocol/MESI_Three_Level-L0cache.sm
src/mem/ruby/protocol/MESI_Three_Level-L1cache.sm
src/mem/ruby/protocol/MESI_Three_Level-msg.sm