From 85c29973a3cdbbbc2ed77014a730cbc625899b03 Mon Sep 17 00:00:00 2001 From: Nilay Vaish Date: Thu, 6 Nov 2014 05:42:20 -0600 Subject: ruby: remove sparse memory. In my opinion, it creates needless complications in rest of the code. Also, this structure hinders the move towards common set of code for physical memory controllers. --- src/mem/ruby/system/System.cc | 30 ++++++------------------------ src/mem/ruby/system/System.hh | 3 --- 2 files changed, 6 insertions(+), 27 deletions(-) (limited to 'src/mem/ruby/system') diff --git a/src/mem/ruby/system/System.cc b/src/mem/ruby/system/System.cc index 0675366d1..edc739b85 100644 --- a/src/mem/ruby/system/System.cc +++ b/src/mem/ruby/system/System.cc @@ -108,12 +108,6 @@ RubySystem::registerAbstractController(AbstractController* cntrl) g_abs_controls[id.getType()][id.getNum()] = cntrl; } -void -RubySystem::registerSparseMemory(SparseMemory* s) -{ - m_sparse_memory_vector.push_back(s); -} - void RubySystem::registerMemController(MemoryControl *mc) { m_memory_controller_vec.push_back(mc); @@ -160,17 +154,13 @@ void RubySystem::serialize(std::ostream &os) { m_cooldown_enabled = true; - vector sequencer_map; Sequencer* sequencer_ptr = NULL; - int cntrl_id = -1; - for (int cntrl = 0; cntrl < m_abs_cntrl_vec.size(); cntrl++) { sequencer_map.push_back(m_abs_cntrl_vec[cntrl]->getSequencer()); if (sequencer_ptr == NULL) { sequencer_ptr = sequencer_map[cntrl]; - cntrl_id = cntrl; } } @@ -217,23 +207,15 @@ RubySystem::serialize(std::ostream &os) setCurTick(curtick_original); uint8_t *raw_data = NULL; + uint64 memory_trace_size = m_mem_vec->collatePages(raw_data); - if (m_mem_vec != NULL) { - uint64 memory_trace_size = m_mem_vec->collatePages(raw_data); - - string memory_trace_file = name() + ".memory.gz"; - writeCompressedTrace(raw_data, memory_trace_file, - memory_trace_size); + string memory_trace_file = name() + ".memory.gz"; + writeCompressedTrace(raw_data, memory_trace_file, + memory_trace_size); - SERIALIZE_SCALAR(memory_trace_file); - SERIALIZE_SCALAR(memory_trace_size); + SERIALIZE_SCALAR(memory_trace_file); + SERIALIZE_SCALAR(memory_trace_size); - } else { - for (int i = 0; i < m_sparse_memory_vector.size(); ++i) { - m_sparse_memory_vector[i]->recordBlocks(cntrl_id, - m_cache_recorder); - } - } // Aggergate the trace entries together into a single array raw_data = new uint8_t[4096]; diff --git a/src/mem/ruby/system/System.hh b/src/mem/ruby/system/System.hh index c909dc614..8193764dc 100644 --- a/src/mem/ruby/system/System.hh +++ b/src/mem/ruby/system/System.hh @@ -41,7 +41,6 @@ #include "mem/ruby/slicc_interface/AbstractController.hh" #include "mem/ruby/structures/MemoryControl.hh" #include "mem/ruby/structures/MemoryVector.hh" -#include "mem/ruby/structures/SparseMemory.hh" #include "mem/ruby/system/CacheRecorder.hh" #include "mem/packet.hh" #include "params/RubySystem.hh" @@ -107,7 +106,6 @@ class RubySystem : public ClockedObject void registerNetwork(Network*); void registerAbstractController(AbstractController*); - void registerSparseMemory(SparseMemory*); void registerMemController(MemoryControl *mc); bool eventQueueEmpty() { return eventq->empty(); } @@ -147,7 +145,6 @@ class RubySystem : public ClockedObject bool m_warmup_enabled; bool m_cooldown_enabled; CacheRecorder* m_cache_recorder; - std::vector m_sparse_memory_vector; }; class RubyStatsCallback : public Callback -- cgit v1.2.3