31 #ifndef __CACHE_PREFETCH_ASSOCIATIVE_SET_HH__ 32 #define __CACHE_PREFETCH_ASSOCIATIVE_SET_HH__ 118 template<
class Entry>
120 static_assert(std::is_base_of<TaggedEntry, Entry>::value,
121 "Entry must derive from TaggedEntry");
159 Entry* findEntry(
Addr addr,
bool is_secure)
const;
166 void accessEntry(Entry *entry);
189 void insertEntry(
Addr addr,
bool is_secure, Entry* entry);
208 return entries.begin();
218 return entries.end();
227 return entries.begin();
237 return entries.end();
241 #endif//__CACHE_PREFETCH_ASSOCIATIVE_SET_HH__ BaseIndexingPolicy *const indexingPolicy
Pointer to the indexing policy.
BaseReplacementPolicy *const replacementPolicy
Pointer to the replacement policy.
Addr getTag() const
Obtain the entry tag.
std::vector< Entry > entries
Vector containing the entries of the container.
A common base class of cache replacement policy objects.
bool secure
Whether this entry refers to a memory area in the secure space.
iterator end()
Returns an iterator pointing to the end of the the dictionary (placeholder element, should not be accessed)
typename std::vector< SignaturePathPrefetcher::SignatureEntry >::iterator iterator
Addr tag
Tag for the entry.
void setValid()
Sets the entry to valid.
bool isSecure() const
Consult if this entry refers to a memory in the secure area.
const_iterator begin() const
Returns an iterator to the first entry of the dictionary.
void setSecure(bool s)
Sets the secure value bit.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
Associative container based on the previosuly defined Entry type Each element is indexed by a key of ...
iterator begin()
Returns an iterator to the first entry of the dictionary.
bool isValid() const
Consult the valid bit.
A replaceable entry is a basic entry in a 2d table-like structure that needs to have replacement func...
Copyright (c) 2018 Metempsy Technology Consulting All rights reserved.
void setTag(Addr t)
Sets the tag of the entry.
A common base class for indexing table locations.
virtual void invalidate()
Invalidates the entry.
typename std::vector< SignaturePathPrefetcher::SignatureEntry >::const_iterator const_iterator
Iterator types.
const int associativity
Associativity of the container.
const int numEntries
Total number of entries, entries are organized in sets of the provided associativity.
const_iterator end() const
Returns an iterator pointing to the end of the the dictionary (placeholder element, should not be accessed)