diff options
author | Daniel R. Carvalho <odanrc@yahoo.com.br> | 2018-10-18 15:31:51 +0200 |
---|---|---|
committer | Daniel Carvalho <odanrc@yahoo.com.br> | 2018-11-14 21:02:08 +0000 |
commit | c6e0d8f54f1ce90933f95a7a3a875fed53b8ee3e (patch) | |
tree | 60bb086bf5b96e5c694eb662f0e34abeae26e6ad /src/mem/cache/tags/base.cc | |
parent | ea0f654923d13a2f81fe7c22eeca4c8cffae947a (diff) | |
download | gem5-c6e0d8f54f1ce90933f95a7a3a875fed53b8ee3e.tar.xz |
mem-cache: Move access latency calculation to Cache
Access latency was not being calculated properly, as it was
always assuming that for hits reads take as long as writes,
and that parallel accesses would produce the same latency
for read and write misses.
By moving the calculation to the Cache we can use the write/
read information, reduce latency variables duplication and
remove Cache dependency from Tags.
The tag lookup latency is still calculated by the Tags.
Change-Id: I71bc68fb5c3515b372c3bf002d61b6f048a45540
Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br>
Reviewed-on: https://gem5-review.googlesource.com/c/13697
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com>
Diffstat (limited to 'src/mem/cache/tags/base.cc')
-rw-r--r-- | src/mem/cache/tags/base.cc | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/src/mem/cache/tags/base.cc b/src/mem/cache/tags/base.cc index c6a9a8295..5fbbdc194 100644 --- a/src/mem/cache/tags/base.cc +++ b/src/mem/cache/tags/base.cc @@ -61,11 +61,7 @@ BaseTags::BaseTags(const Params *p) : ClockedObject(p), blkSize(p->block_size), blkMask(blkSize - 1), - size(p->size), - lookupLatency(p->tag_latency), - accessLatency(p->sequential_access ? - p->tag_latency + p->data_latency : - std::max(p->tag_latency, p->data_latency)), + size(p->size), lookupLatency(p->tag_latency), cache(nullptr), indexingPolicy(p->indexing_policy), warmupBound((p->warmup_percentage/100.0) * (p->size / p->block_size)), warmedUp(false), numBlocks(p->size / p->block_size), |