diff options
author | Daniel R. Carvalho <odanrc@yahoo.com.br> | 2018-12-04 16:29:16 +0100 |
---|---|---|
committer | Daniel Carvalho <odanrc@yahoo.com.br> | 2019-03-07 13:07:09 +0000 |
commit | 6d8694a5fb5cfb905186249581cc6a3fde6cc38a (patch) | |
tree | 600d99f68c6dd99e39eea60a9d69859676693664 /src/mem/cache/base.hh | |
parent | 9a234836396d547494abf2c370ea773abfac3fed (diff) | |
download | gem5-6d8694a5fb5cfb905186249581cc6a3fde6cc38a.tar.xz |
mem-cache: Allow tag-only accesses on latency calculation
Some accesses only need to search for a tag in the tag array, with
no need to touch the data array. This is the case for CleanEvicts,
evicts that don't find a corresponding block entry (since a write
cannot be done in parallel with tag lookup), and maintenance
operations.
Change-Id: I7365a915500b5d7ab636d49a9acc627072a7f58e
Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/14878
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com>
Diffstat (limited to 'src/mem/cache/base.hh')
-rw-r--r-- | src/mem/cache/base.hh | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mem/cache/base.hh b/src/mem/cache/base.hh index 7bf741144..a7b25ff2f 100644 --- a/src/mem/cache/base.hh +++ b/src/mem/cache/base.hh @@ -422,6 +422,16 @@ class BaseCache : public MemObject Addr regenerateBlkAddr(CacheBlk* blk); /** + * Calculate latency of accesses that only touch the tag array. + * @sa calculateAccessLatency + * + * @param delay The delay until the packet's metadata is present. + * @param lookup_lat Latency of the respective tag lookup. + * @return The number of ticks that pass due to a tag-only access. + */ + Cycles calculateTagOnlyLatency(const uint32_t delay, + const Cycles lookup_lat) const; + /** * Calculate access latency in ticks given a tag lookup latency, and * whether access was a hit or miss. * |