ruby: replace Time with Tick in replacement policy classes
This commit is contained in:
@@ -29,7 +29,7 @@
|
||||
#ifndef __MEM_RUBY_SYSTEM_ABSTRACTREPLACEMENTPOLICY_HH__
|
||||
#define __MEM_RUBY_SYSTEM_ABSTRACTREPLACEMENTPOLICY_HH__
|
||||
|
||||
#include "mem/ruby/common/TypeDefines.hh"
|
||||
#include "base/types.hh"
|
||||
|
||||
class AbstractReplacementPolicy
|
||||
{
|
||||
@@ -38,18 +38,18 @@ class AbstractReplacementPolicy
|
||||
virtual ~AbstractReplacementPolicy();
|
||||
|
||||
/* touch a block. a.k.a. update timestamp */
|
||||
virtual void touch(Index set, Index way, Time time) = 0;
|
||||
virtual void touch(Index set, Index way, Tick time) = 0;
|
||||
|
||||
/* returns the way to replace */
|
||||
virtual Index getVictim(Index set) const = 0;
|
||||
|
||||
/* get the time of the last access */
|
||||
Time getLastAccess(Index set, Index way);
|
||||
Tick getLastAccess(Index set, Index way);
|
||||
|
||||
protected:
|
||||
unsigned m_num_sets; /** total number of sets */
|
||||
unsigned m_assoc; /** set associativity */
|
||||
Time **m_last_ref_ptr; /** timestamp of last reference */
|
||||
Tick **m_last_ref_ptr; /** timestamp of last reference */
|
||||
};
|
||||
|
||||
inline
|
||||
@@ -58,9 +58,9 @@ AbstractReplacementPolicy::AbstractReplacementPolicy(Index num_sets,
|
||||
{
|
||||
m_num_sets = num_sets;
|
||||
m_assoc = assoc;
|
||||
m_last_ref_ptr = new Time*[m_num_sets];
|
||||
m_last_ref_ptr = new Tick*[m_num_sets];
|
||||
for(unsigned i = 0; i < m_num_sets; i++){
|
||||
m_last_ref_ptr[i] = new Time[m_assoc];
|
||||
m_last_ref_ptr[i] = new Tick[m_assoc];
|
||||
for(unsigned j = 0; j < m_assoc; j++){
|
||||
m_last_ref_ptr[i][j] = 0;
|
||||
}
|
||||
@@ -80,7 +80,7 @@ AbstractReplacementPolicy::~AbstractReplacementPolicy()
|
||||
}
|
||||
}
|
||||
|
||||
inline Time
|
||||
inline Tick
|
||||
AbstractReplacementPolicy::getLastAccess(Index set, Index way)
|
||||
{
|
||||
return m_last_ref_ptr[set][way];
|
||||
|
||||
@@ -39,7 +39,7 @@ class LRUPolicy : public AbstractReplacementPolicy
|
||||
LRUPolicy(Index num_sets, Index assoc);
|
||||
~LRUPolicy();
|
||||
|
||||
void touch(Index set, Index way, Time time);
|
||||
void touch(Index set, Index way, Tick time);
|
||||
Index getVictim(Index set) const;
|
||||
};
|
||||
|
||||
@@ -55,7 +55,7 @@ LRUPolicy::~LRUPolicy()
|
||||
}
|
||||
|
||||
inline void
|
||||
LRUPolicy::touch(Index set, Index index, Time time)
|
||||
LRUPolicy::touch(Index set, Index index, Tick time)
|
||||
{
|
||||
assert(index >= 0 && index < m_assoc);
|
||||
assert(set >= 0 && set < m_num_sets);
|
||||
@@ -67,7 +67,7 @@ inline Index
|
||||
LRUPolicy::getVictim(Index set) const
|
||||
{
|
||||
// assert(m_assoc != 0);
|
||||
Time time, smallest_time;
|
||||
Tick time, smallest_time;
|
||||
Index smallest_index;
|
||||
|
||||
smallest_index = 0;
|
||||
|
||||
@@ -50,7 +50,7 @@ class PseudoLRUPolicy : public AbstractReplacementPolicy
|
||||
PseudoLRUPolicy(Index num_sets, Index assoc);
|
||||
~PseudoLRUPolicy();
|
||||
|
||||
void touch(Index set, Index way, Time time);
|
||||
void touch(Index set, Index way, Tick time);
|
||||
Index getVictim(Index set) const;
|
||||
|
||||
private:
|
||||
@@ -96,7 +96,7 @@ PseudoLRUPolicy::~PseudoLRUPolicy()
|
||||
}
|
||||
|
||||
inline void
|
||||
PseudoLRUPolicy::touch(Index set, Index index, Time time)
|
||||
PseudoLRUPolicy::touch(Index set, Index index, Tick time)
|
||||
{
|
||||
assert(index >= 0 && index < m_assoc);
|
||||
assert(set >= 0 && set < m_num_sets);
|
||||
|
||||
Reference in New Issue
Block a user