gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Public Attributes | List of all members
CacheSet< Blktype > Class Template Reference

An associative set of cache blocks. More...

#include <cacheset.hh>

Public Member Functions

Blktype * findBlk (Addr tag, bool is_secure, int &way_id) const
 Find a block matching the tag in this set. More...
 
Blktype * findBlk (Addr tag, bool is_secure) const
 
void moveToHead (Blktype *blk)
 Move the given block to the head of the list. More...
 
void moveToTail (Blktype *blk)
 Move the given block to the tail of the list. More...
 

Public Attributes

int assoc
 The associativity of this set. More...
 
Blktype ** blks
 Cache blocks in this set, maintained in LRU order 0 = MRU. More...
 

Detailed Description

template<class Blktype>
class CacheSet< Blktype >

An associative set of cache blocks.

Definition at line 57 of file cacheset.hh.

Member Function Documentation

template<class Blktype >
Blktype * CacheSet< Blktype >::findBlk ( Addr  tag,
bool  is_secure,
int &  way_id 
) const

Find a block matching the tag in this set.

Parameters
way_idThe id of the way that matches the tag.
tagThe Tag to find.
is_secureTrue if the target memory space is secure.
Returns
Pointer to the block if found. Set way_id to assoc if none found

Way_id returns the id of the way that matches the block If no block is found way_id is set to assoc.

Definition at line 92 of file cacheset.hh.

References ArmISA::i.

Referenced by BaseSetAssoc::accessBlock(), and BaseSetAssoc::findBlock().

template<class Blktype >
Blktype * CacheSet< Blktype >::findBlk ( Addr  tag,
bool  is_secure 
) const

Definition at line 111 of file cacheset.hh.

template<class Blktype >
void CacheSet< Blktype >::moveToHead ( Blktype *  blk)

Move the given block to the head of the list.

Parameters
blkThe block to move.

Definition at line 119 of file cacheset.hh.

References ArmISA::i.

Referenced by LRU::accessBlock(), and LRU::insertBlock().

template<class Blktype >
void CacheSet< Blktype >::moveToTail ( Blktype *  blk)

Move the given block to the tail of the list.

Parameters
blkThe block to move

Definition at line 141 of file cacheset.hh.

References ArmISA::i.

Referenced by LRU::invalidate().

Member Data Documentation

template<class Blktype >
int CacheSet< Blktype >::assoc

The associativity of this set.

Definition at line 61 of file cacheset.hh.

Referenced by BaseSetAssoc::BaseSetAssoc().

template<class Blktype >
Blktype** CacheSet< Blktype >::blks

The documentation for this class was generated from the following file:

Generated on Fri Jun 9 2017 13:04:04 for gem5 by doxygen 1.8.6