From 93e283abb348b81d086225f7861d94901c9b0888 Mon Sep 17 00:00:00 2001 From: Nilay Vaish Date: Tue, 11 Dec 2012 10:05:54 -0600 Subject: ruby: add a prefetcher This patch adds a prefetcher for the ruby memory system. The prefetcher is based on a prefetcher implemented by others (well, I don't know who wrote the original). The prefetcher does stride-based prefetching, both unit and non-unit. It obseves the misses in the cache and trains on these. After the training period is over, the prefetcher starts issuing prefetch requests to the controller. --- src/mem/SConscript | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/mem/SConscript') diff --git a/src/mem/SConscript b/src/mem/SConscript index 9cf8b08d1..374f904a8 100644 --- a/src/mem/SConscript +++ b/src/mem/SConscript @@ -86,6 +86,7 @@ DebugFlag('RubyGenerated') DebugFlag('RubyMemory') DebugFlag('RubyNetwork') DebugFlag('RubyPort') +DebugFlag('RubyPrefetcher') DebugFlag('RubyQueue') DebugFlag('RubySequencer') DebugFlag('RubySlicc') @@ -96,4 +97,5 @@ DebugFlag('RubyResourceStalls') CompoundFlag('Ruby', [ 'RubyQueue', 'RubyNetwork', 'RubyTester', 'RubyGenerated', 'RubySlicc', 'RubySystem', 'RubyCache', - 'RubyMemory', 'RubyDma', 'RubyPort', 'RubySequencer', 'RubyCacheTrace']) + 'RubyMemory', 'RubyDma', 'RubyPort', 'RubySequencer', 'RubyCacheTrace', + 'RubyPrefetcher']) -- cgit v1.2.3