Huang Jiasen has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/55083 )
Change subject: mem-cache: Add switch on/off duplicate entries into RMOB
......................................................................
mem-cache: Add switch on/off duplicate entries into RMOB
Change-Id: I394d7c852a439be5315c4755b091c8741e671ea3
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/55083
Reviewed-by: Daniel Carvalho <[email protected]>
Maintainer: Daniel Carvalho <[email protected]>
Tested-by: kokoro <[email protected]>
---
M src/mem/cache/prefetch/spatio_temporal_memory_streaming.cc
M src/mem/cache/prefetch/spatio_temporal_memory_streaming.hh
M src/mem/cache/prefetch/Prefetcher.py
3 files changed, 29 insertions(+), 0 deletions(-)
Approvals:
Daniel Carvalho: Looks good to me, approved; Looks good to me, approved
kokoro: Regressions pass
diff --git a/src/mem/cache/prefetch/Prefetcher.py
b/src/mem/cache/prefetch/Prefetcher.py
index 7d70488..024004e 100644
--- a/src/mem/cache/prefetch/Prefetcher.py
+++ b/src/mem/cache/prefetch/Prefetcher.py
@@ -488,6 +488,8 @@
region_miss_order_buffer_entries = Param.Unsigned(131072,
"Number of entries of the Region Miss Order Buffer")
+ add_duplicate_entries_to_rmob = Param.Bool(True,
+ "Add duplicate entries to RMOB")
reconstruction_entries = Param.Unsigned(256,
"Number of reconstruction entries")
diff --git a/src/mem/cache/prefetch/spatio_temporal_memory_streaming.cc
b/src/mem/cache/prefetch/spatio_temporal_memory_streaming.cc
index f610288..3c9b9eb 100644
--- a/src/mem/cache/prefetch/spatio_temporal_memory_streaming.cc
+++ b/src/mem/cache/prefetch/spatio_temporal_memory_streaming.cc
@@ -56,6 +56,7 @@
ActiveGenerationTableEntry(
spatialRegionSize / blkSize)),
rmob(p.region_miss_order_buffer_entries),
+ addDuplicateEntriesToRMOB(p.add_duplicate_entries_to_rmob),
lastTriggerCounter(0)
{
fatal_if(!isPowerOf2(spatialRegionSize),
@@ -120,6 +121,16 @@
rmob_entry.pstAddress = pst_addr;
rmob_entry.delta = delta;
+ if (!addDuplicateEntriesToRMOB) {
+ for (const auto& entry : rmob) {
+ if (entry.srAddress == sr_addr &&
+ entry.pstAddress == pst_addr &&
+ entry.delta == delta) {
+ return;
+ }
+ }
+ }
+
rmob.push_back(rmob_entry);
}
diff --git a/src/mem/cache/prefetch/spatio_temporal_memory_streaming.hh
b/src/mem/cache/prefetch/spatio_temporal_memory_streaming.hh
index e5914b4..bee746c 100644
--- a/src/mem/cache/prefetch/spatio_temporal_memory_streaming.hh
+++ b/src/mem/cache/prefetch/spatio_temporal_memory_streaming.hh
@@ -175,6 +175,9 @@
/** Region Miss Order Buffer (RMOB) */
CircularQueue<RegionMissOrderBufferEntry> rmob;
+ /** Add duplicate entries to RMOB */
+ bool addDuplicateEntriesToRMOB;
+
/** Counter to keep the count of accesses between trigger accesses */
unsigned int lastTriggerCounter;
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/55083
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I394d7c852a439be5315c4755b091c8741e671ea3
Gerrit-Change-Number: 55083
Gerrit-PatchSet: 6
Gerrit-Owner: Huang Jiasen <[email protected]>
Gerrit-Reviewer: Daniel Carvalho <[email protected]>
Gerrit-Reviewer: Gabe Black <[email protected]>
Gerrit-Reviewer: Huang Jiasen <[email protected]>
Gerrit-Reviewer: Jason Lowe-Power <[email protected]>
Gerrit-Reviewer: Nikos Nikoleris <[email protected]>
Gerrit-Reviewer: kokoro <[email protected]>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s