CacheMemory.hh (10969:a588fceeb834) | CacheMemory.hh (10970:ea8bdb1d9f1e) |
---|---|
1/* 2 * Copyright (c) 1999-2012 Mark D. Hill and David A. Wood 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 26 unchanged lines hidden (view full) --- 35#include "base/hashmap.hh" 36#include "base/statistics.hh" 37#include "mem/protocol/CacheRequestType.hh" 38#include "mem/protocol/CacheResourceType.hh" 39#include "mem/protocol/RubyRequest.hh" 40#include "mem/ruby/common/DataBlock.hh" 41#include "mem/ruby/slicc_interface/AbstractCacheEntry.hh" 42#include "mem/ruby/slicc_interface/RubySlicc_ComponentMapping.hh" | 1/* 2 * Copyright (c) 1999-2012 Mark D. Hill and David A. Wood 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 26 unchanged lines hidden (view full) --- 35#include "base/hashmap.hh" 36#include "base/statistics.hh" 37#include "mem/protocol/CacheRequestType.hh" 38#include "mem/protocol/CacheResourceType.hh" 39#include "mem/protocol/RubyRequest.hh" 40#include "mem/ruby/common/DataBlock.hh" 41#include "mem/ruby/slicc_interface/AbstractCacheEntry.hh" 42#include "mem/ruby/slicc_interface/RubySlicc_ComponentMapping.hh" |
43#include "mem/ruby/structures/AbstractReplacementPolicy.hh" |
|
43#include "mem/ruby/structures/BankedArray.hh" | 44#include "mem/ruby/structures/BankedArray.hh" |
44#include "mem/ruby/structures/LRUPolicy.hh" 45#include "mem/ruby/structures/PseudoLRUPolicy.hh" | |
46#include "mem/ruby/system/CacheRecorder.hh" 47#include "params/RubyCache.hh" 48#include "sim/sim_object.hh" 49 50class CacheMemory : public SimObject 51{ 52 public: 53 typedef RubyCacheParams Params; --- 104 unchanged lines hidden (view full) --- 158 std::vector<std::vector<AbstractCacheEntry*> > m_cache; 159 160 AbstractReplacementPolicy *m_replacementPolicy_ptr; 161 162 BankedArray dataArray; 163 BankedArray tagArray; 164 165 int m_cache_size; | 45#include "mem/ruby/system/CacheRecorder.hh" 46#include "params/RubyCache.hh" 47#include "sim/sim_object.hh" 48 49class CacheMemory : public SimObject 50{ 51 public: 52 typedef RubyCacheParams Params; --- 104 unchanged lines hidden (view full) --- 157 std::vector<std::vector<AbstractCacheEntry*> > m_cache; 158 159 AbstractReplacementPolicy *m_replacementPolicy_ptr; 160 161 BankedArray dataArray; 162 BankedArray tagArray; 163 164 int m_cache_size; |
166 std::string m_policy; | |
167 int m_cache_num_sets; 168 int m_cache_num_set_bits; 169 int m_cache_assoc; 170 int m_start_index_bit; 171 bool m_resource_stalls; 172}; 173 174std::ostream& operator<<(std::ostream& out, const CacheMemory& obj); 175 176#endif // __MEM_RUBY_STRUCTURES_CACHEMEMORY_HH__ | 165 int m_cache_num_sets; 166 int m_cache_num_set_bits; 167 int m_cache_assoc; 168 int m_start_index_bit; 169 bool m_resource_stalls; 170}; 171 172std::ostream& operator<<(std::ostream& out, const CacheMemory& obj); 173 174#endif // __MEM_RUBY_STRUCTURES_CACHEMEMORY_HH__ |