gem5  v20.1.0.0
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
LSQ< Impl >::LSQSenderState Class Referenceabstract

Derived class to hold any sender state the LSQ needs. More...

#include <lsq.hh>

Inheritance diagram for LSQ< Impl >::LSQSenderState:
Packet::SenderState

Public Member Functions

ContextID contextId ()
 
bool isComplete ()
 Completes a packet and returns whether the access is finished. More...
 
void deleteRequest ()
 
bool alive ()
 
LSQRequestrequest ()
 
virtual void complete ()=0
 
void writebackDone ()
 
- Public Member Functions inherited from Packet::SenderState
 SenderState ()
 
virtual ~SenderState ()
 

Public Attributes

DynInstPtr inst
 Instruction which initiated the access to memory. More...
 
PacketPtr mainPkt
 The main packet from a split load, used during writeback. More...
 
PacketPtr pendingPacket
 A second packet from a split store that needs sending. More...
 
uint8_t outstanding
 Number of outstanding packets to complete. More...
 
bool isLoad
 Whether or not it is a load. More...
 
bool needWB
 Whether or not the instruction will need to writeback. More...
 
bool isSplit
 Whether or not this access is split in two. More...
 
bool pktToSend
 Whether or not there is a packet that needs sending. More...
 
bool deleted
 Has the request been deleted? LSQ entries can be squashed before the response comes back. More...
 
- Public Attributes inherited from Packet::SenderState
SenderStatepredecessor
 

Protected Member Functions

 LSQSenderState (LSQRequest *request, bool isLoad_)
 Default constructor. More...
 

Protected Attributes

LSQRequest_request
 The senderState needs to know the LSQRequest who owns it. More...
 

Detailed Description

template<class Impl>
class LSQ< Impl >::LSQSenderState

Derived class to hold any sender state the LSQ needs.

Definition at line 73 of file lsq.hh.

Constructor & Destructor Documentation

◆ LSQSenderState()

template<class Impl >
LSQ< Impl >::LSQSenderState::LSQSenderState ( LSQRequest request,
bool  isLoad_ 
)
inlineprotected

Default constructor.

Definition at line 80 of file lsq.hh.

Member Function Documentation

◆ alive()

template<class Impl >
bool LSQ< Impl >::LSQSenderState::alive ( )
inline

Definition at line 113 of file lsq.hh.

References LSQ< Impl >::LSQSenderState::deleted.

◆ complete()

template<class Impl >
virtual void LSQ< Impl >::LSQSenderState::complete ( )
pure virtual

◆ contextId()

template<class Impl >
ContextID LSQ< Impl >::LSQSenderState::contextId ( )
inline

Definition at line 108 of file lsq.hh.

References LSQ< Impl >::LSQSenderState::inst.

◆ deleteRequest()

template<class Impl >
void LSQ< Impl >::LSQSenderState::deleteRequest ( )
inline

◆ isComplete()

template<class Impl >
bool LSQ< Impl >::LSQSenderState::isComplete ( )
inline

Completes a packet and returns whether the access is finished.

Definition at line 111 of file lsq.hh.

References LSQ< Impl >::LSQSenderState::outstanding.

◆ request()

template<class Impl >
LSQRequest* LSQ< Impl >::LSQSenderState::request ( )
inline

Definition at line 114 of file lsq.hh.

References LSQ< Impl >::LSQSenderState::_request.

◆ writebackDone()

template<class Impl >
void LSQ< Impl >::LSQSenderState::writebackDone ( )
inline

Member Data Documentation

◆ _request

template<class Impl >
LSQRequest* LSQ< Impl >::LSQSenderState::_request
protected

The senderState needs to know the LSQRequest who owns it.

Definition at line 77 of file lsq.hh.

Referenced by LSQ< Impl >::LSQSenderState::request(), and LSQ< Impl >::LSQSenderState::writebackDone().

◆ deleted

template<class Impl >
bool LSQ< Impl >::LSQSenderState::deleted

Has the request been deleted? LSQ entries can be squashed before the response comes back.

in that case the SenderState knows.

Definition at line 107 of file lsq.hh.

Referenced by LSQ< Impl >::LSQSenderState::alive(), and LSQ< Impl >::LSQSenderState::deleteRequest().

◆ inst

template<class Impl >
DynInstPtr LSQ< Impl >::LSQSenderState::inst

Instruction which initiated the access to memory.

Definition at line 88 of file lsq.hh.

Referenced by LSQ< Impl >::LSQSenderState::contextId().

◆ isLoad

template<class Impl >
bool LSQ< Impl >::LSQSenderState::isLoad

Whether or not it is a load.

Definition at line 96 of file lsq.hh.

◆ isSplit

template<class Impl >
bool LSQ< Impl >::LSQSenderState::isSplit

Whether or not this access is split in two.

Definition at line 100 of file lsq.hh.

◆ mainPkt

template<class Impl >
PacketPtr LSQ< Impl >::LSQSenderState::mainPkt

The main packet from a split load, used during writeback.

Definition at line 90 of file lsq.hh.

◆ needWB

template<class Impl >
bool LSQ< Impl >::LSQSenderState::needWB

Whether or not the instruction will need to writeback.

Definition at line 98 of file lsq.hh.

◆ outstanding

template<class Impl >
uint8_t LSQ< Impl >::LSQSenderState::outstanding

Number of outstanding packets to complete.

Definition at line 94 of file lsq.hh.

Referenced by LSQ< Impl >::LSQSenderState::isComplete(), and LSQ< Impl >::SingleDataRequest::recvTimingResp().

◆ pendingPacket

template<class Impl >
PacketPtr LSQ< Impl >::LSQSenderState::pendingPacket

A second packet from a split store that needs sending.

Definition at line 92 of file lsq.hh.

◆ pktToSend

template<class Impl >
bool LSQ< Impl >::LSQSenderState::pktToSend

Whether or not there is a packet that needs sending.

Definition at line 102 of file lsq.hh.


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

Generated on Wed Sep 30 2020 14:02:27 for gem5 by doxygen 1.8.17