gem5 v24.1.0.1
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Types | Public Member Functions | Public Attributes | Private Attributes | List of all members
gem5::SpatterAccess Struct Reference

#include <utility_structs.hh>

Inheritance diagram for gem5::SpatterAccess:
gem5::Packet::SenderState

Public Types

typedef std::tuple< Addr, size_t > AccessPair
 
typedef enums::SpatterKernelType SpatterKernelType
 

Public Member Functions

 SpatterAccess (RequestorID requestor_id, SpatterKernelType kernel_type, const std::queue< AccessPair > &access_pairs)
 
SpatterKernelType type () const
 
int tripsLeft () const
 
void recordTripTime (Tick trip_time)
 
Tick tripTimeSoFar () const
 
AccessPair nextAccessPair ()
 
PacketPtr nextPacket ()
 
PacketPtr createPacket (Addr addr, size_t size, MemCmd cmd) const
 
- Public Member Functions inherited from gem5::Packet::SenderState
 SenderState ()
 
virtual ~SenderState ()
 

Public Attributes

RequestorID requestorId
 
SpatterKernelType _kernelType
 
Tick accTripTime
 
std::queue< AccessPairaccessPairs
 
- Public Attributes inherited from gem5::Packet::SenderState
SenderStatepredecessor
 

Private Attributes

Random::RandomPtr rng = Random::genRandom()
 

Detailed Description

Definition at line 88 of file utility_structs.hh.

Member Typedef Documentation

◆ AccessPair

typedef std::tuple<Addr, size_t> gem5::SpatterAccess::AccessPair

Definition at line 90 of file utility_structs.hh.

◆ SpatterKernelType

typedef enums::SpatterKernelType gem5::SpatterAccess::SpatterKernelType

Definition at line 91 of file utility_structs.hh.

Constructor & Destructor Documentation

◆ SpatterAccess()

gem5::SpatterAccess::SpatterAccess ( RequestorID  requestor_id,
SpatterKernelType  kernel_type,
const std::queue< AccessPair > &  access_pairs 
)
inline

Definition at line 98 of file utility_structs.hh.

Member Function Documentation

◆ createPacket()

PacketPtr gem5::SpatterAccess::createPacket ( Addr  addr,
size_t  size,
MemCmd  cmd 
) const
inline

Definition at line 138 of file utility_structs.hh.

References gem5::X86ISA::addr, gem5::Packet::dataDynamic(), gem5::ArmISA::i, requestorId, and rng.

Referenced by nextPacket().

◆ nextAccessPair()

AccessPair gem5::SpatterAccess::nextAccessPair ( )
inline

Definition at line 115 of file utility_structs.hh.

References accessPairs, and tripsLeft().

Referenced by nextPacket().

◆ nextPacket()

PacketPtr gem5::SpatterAccess::nextPacket ( )
inline

◆ recordTripTime()

void gem5::SpatterAccess::recordTripTime ( Tick  trip_time)
inline

Definition at line 111 of file utility_structs.hh.

References accTripTime.

Referenced by gem5::SpatterGen::recvTimingResp().

◆ tripsLeft()

int gem5::SpatterAccess::tripsLeft ( ) const
inline

Definition at line 109 of file utility_structs.hh.

References accessPairs.

Referenced by nextAccessPair(), nextPacket(), and gem5::SpatterGen::recvTimingResp().

◆ tripTimeSoFar()

Tick gem5::SpatterAccess::tripTimeSoFar ( ) const
inline

Definition at line 113 of file utility_structs.hh.

References accTripTime.

Referenced by gem5::SpatterGen::recvTimingResp().

◆ type()

SpatterKernelType gem5::SpatterAccess::type ( ) const
inline

Definition at line 107 of file utility_structs.hh.

References _kernelType.

Referenced by gem5::SpatterGen::recvTimingResp().

Member Data Documentation

◆ _kernelType

SpatterKernelType gem5::SpatterAccess::_kernelType

Definition at line 94 of file utility_structs.hh.

Referenced by nextPacket(), and type().

◆ accessPairs

std::queue<AccessPair> gem5::SpatterAccess::accessPairs

Definition at line 96 of file utility_structs.hh.

Referenced by nextAccessPair(), and tripsLeft().

◆ accTripTime

Tick gem5::SpatterAccess::accTripTime

Definition at line 95 of file utility_structs.hh.

Referenced by recordTripTime(), and tripTimeSoFar().

◆ requestorId

RequestorID gem5::SpatterAccess::requestorId

Definition at line 93 of file utility_structs.hh.

Referenced by createPacket().

◆ rng

Random::RandomPtr gem5::SpatterAccess::rng = Random::genRandom()
mutableprivate

Definition at line 158 of file utility_structs.hh.

Referenced by createPacket().


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

Generated on Mon Jan 13 2025 04:28:58 for gem5 by doxygen 1.9.8