gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Attributes | List of all members
FALRUBlk Class Reference

A fully associative cache block. More...

#include <fa_lru.hh>

Inheritance diagram for FALRUBlk:
CacheBlk

Public Attributes

FALRUBlkprev
 The previous block in LRU order. More...
 
FALRUBlknext
 The next block in LRU order. More...
 
bool isTouched
 Has this block been touched? More...
 
int inCache
 A bit mask of the sizes of cache that this block is resident in. More...
 
- Public Attributes inherited from CacheBlk
uint32_t task_id
 Task Id associated with this block. More...
 
Addr tag
 Data block tag value. More...
 
uint8_t * data
 Contains a copy of the data in this block for easy access. More...
 
State status
 The current status of this block. More...
 
Tick whenReady
 Which curTick() will this block be accessable. More...
 
int set
 The set and way this block belongs to. More...
 
int way
 
bool isTouched
 whether this block has been touched More...
 
unsigned refCount
 Number of references to this block since it was brought in. More...
 
int srcMasterId
 holds the source requestor ID for this block. More...
 
Tick tickInserted
 

Additional Inherited Members

- Public Types inherited from CacheBlk
typedef unsigned State
 block state: OR of CacheBlkStatusBit More...
 
- Public Member Functions inherited from CacheBlk
 CacheBlk ()
 
 CacheBlk (const CacheBlk &)=delete
 
CacheBlkoperator= (const CacheBlk &)=delete
 
bool isWritable () const
 Checks the write permissions of this block. More...
 
bool isReadable () const
 Checks the read permissions of this block. More...
 
bool isValid () const
 Checks that a block is valid. More...
 
void invalidate ()
 Invalidate the block and clear all state. More...
 
bool isDirty () const
 Check to see if a block has been written. More...
 
bool wasPrefetched () const
 Check if this block was the result of a hardware prefetch, yet to be touched. More...
 
bool isSecure () const
 Check if this block holds data from the secure memory space. More...
 
void trackLoadLocked (PacketPtr pkt)
 Track the fact that a local locked was issued to the block. More...
 
void clearLoadLocks (RequestPtr req)
 Clear the any load lock that intersect the request, and is from a different context. More...
 
std::string print () const
 Pretty-print a tag, and interpret state bits to readable form including mapping to a MOESI state. More...
 
bool checkWrite (PacketPtr pkt)
 Handle interaction of load-locked operations and stores. More...
 
- Protected Attributes inherited from CacheBlk
std::list< LocklockList
 List of thread contexts that have performed a load-locked (LL) on the block since the last store. More...
 

Detailed Description

A fully associative cache block.

Definition at line 63 of file fa_lru.hh.

Member Data Documentation

int FALRUBlk::inCache

A bit mask of the sizes of cache that this block is resident in.

Each bit represents a power of 2 in MB size cache. If bit 0 is set, this block is in a 1MB cache If bit 2 is set, this block is in a 4MB cache, etc. There is one bit for each cache smaller than the full size (default 16MB).

Definition at line 81 of file fa_lru.hh.

Referenced by FALRU::accessBlock(), FALRU::check(), FALRU::FALRU(), FALRU::findVictim(), and FALRU::moveToHead().

bool FALRUBlk::isTouched

Has this block been touched?

Definition at line 71 of file fa_lru.hh.

Referenced by FALRU::FALRU(), and FALRU::findVictim().

FALRUBlk* FALRUBlk::next

The next block in LRU order.

Definition at line 69 of file fa_lru.hh.

Referenced by FALRU::check(), FALRU::FALRU(), and FALRU::moveToHead().

FALRUBlk* FALRUBlk::prev

The previous block in LRU order.

Definition at line 67 of file fa_lru.hh.

Referenced by FALRU::FALRU(), and FALRU::moveToHead().


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

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