gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Public Attributes | List of all members
MSHR::Target Class Reference

#include <mshr.hh>

Public Types

enum  Source { FromCPU, FromSnoop, FromPrefetcher }
 

Public Member Functions

 Target (PacketPtr _pkt, Tick _readyTime, Counter _order, Source _source, bool _markedPending, bool alloc_on_fill)
 

Public Attributes

const Tick recvTime
 Time when request was received (for stats) More...
 
const Tick readyTime
 Time when request is ready to be serviced. More...
 
const Counter order
 Global order (for memory consistency mgmt) More...
 
const PacketPtr pkt
 Pending request packet. More...
 
const Source source
 Request from cpu, memory, or prefetcher? More...
 
bool markedPending
 We use this flag to track whether we have cleared the downstreamPending flag for the MSHR of the cache above where this packet originates from and guard noninitial attempts to clear it. More...
 
const bool allocOnFill
 Should the response servicing this target list allocate in the cache? More...
 

Detailed Description

Definition at line 115 of file mshr.hh.

Member Enumeration Documentation

Enumerator
FromCPU 
FromSnoop 
FromPrefetcher 

Definition at line 118 of file mshr.hh.

Constructor & Destructor Documentation

MSHR::Target::Target ( PacketPtr  _pkt,
Tick  _readyTime,
Counter  _order,
Source  _source,
bool  _markedPending,
bool  alloc_on_fill 
)
inline

Definition at line 150 of file mshr.hh.

Member Data Documentation

const bool MSHR::Target::allocOnFill

Should the response servicing this target list allocate in the cache?

Definition at line 147 of file mshr.hh.

bool MSHR::Target::markedPending

We use this flag to track whether we have cleared the downstreamPending flag for the MSHR of the cache above where this packet originates from and guard noninitial attempts to clear it.

The flag markedPending needs to be updated when the TargetList is in service which can be: 1) during the Target instantiation if the MSHR is in service and the target is not deferred, 2) when the MSHR becomes in service if the target is not deferred, 3) or when the TargetList is promoted (deferredTargets -> targets).

Definition at line 145 of file mshr.hh.

const Counter MSHR::Target::order

Global order (for memory consistency mgmt)

Definition at line 126 of file mshr.hh.

const PacketPtr MSHR::Target::pkt

Pending request packet.

Definition at line 127 of file mshr.hh.

Referenced by Cache::recvTimingResp(), and Cache::sendMSHRQueuePacket().

const Tick MSHR::Target::readyTime

Time when request is ready to be serviced.

Definition at line 125 of file mshr.hh.

const Tick MSHR::Target::recvTime

Time when request was received (for stats)

Definition at line 124 of file mshr.hh.

Referenced by Cache::recvTimingResp().

const Source MSHR::Target::source

Request from cpu, memory, or prefetcher?

Definition at line 128 of file mshr.hh.


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

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