gem5  v21.1.0.2
Public Member Functions | Public Attributes | List of all members
gem5::minor::Execute::ExecuteThreadInfo Struct Reference

#include <execute.hh>

Public Member Functions

 ExecuteThreadInfo (unsigned int insts_committed)
 Constructor. More...
 
 ExecuteThreadInfo (const ExecuteThreadInfo &other)
 

Public Attributes

Queue< QueuedInst, ReportTraitsAdaptor< QueuedInst > > * inFlightInsts
 In-order instructions either in FUs or the LSQ. More...
 
Queue< QueuedInst, ReportTraitsAdaptor< QueuedInst > > * inFUMemInsts
 Memory ref instructions still in the FUs. More...
 
unsigned int inputIndex
 Index that we've completed upto in getInput data. More...
 
bool lastCommitWasEndOfMacroop
 The last commit was the end of a full instruction so an interrupt can safely happen. More...
 
ForwardInstData instsBeingCommitted
 Structure for reporting insts currently being processed/retired for MinorTrace. More...
 
InstSeqNum streamSeqNum
 Source of sequence number for instuction streams. More...
 
InstSeqNum lastPredictionSeqNum
 A prediction number for use where one isn't available from an instruction. More...
 
DrainState drainState
 State progression for draining NotDraining -> ... More...
 

Detailed Description

Definition at line 156 of file execute.hh.

Constructor & Destructor Documentation

◆ ExecuteThreadInfo() [1/2]

gem5::minor::Execute::ExecuteThreadInfo::ExecuteThreadInfo ( unsigned int  insts_committed)
inline

Constructor.

Definition at line 159 of file execute.hh.

◆ ExecuteThreadInfo() [2/2]

gem5::minor::Execute::ExecuteThreadInfo::ExecuteThreadInfo ( const ExecuteThreadInfo other)
inline

Definition at line 168 of file execute.hh.

Member Data Documentation

◆ drainState

DrainState gem5::minor::Execute::ExecuteThreadInfo::drainState

State progression for draining NotDraining -> ...

-> DrainAllInsts

Definition at line 208 of file execute.hh.

Referenced by gem5::minor::Execute::evaluate().

◆ inFlightInsts

Queue<QueuedInst, ReportTraitsAdaptor<QueuedInst> >* gem5::minor::Execute::ExecuteThreadInfo::inFlightInsts

In-order instructions either in FUs or the LSQ.

Definition at line 178 of file execute.hh.

Referenced by gem5::minor::Execute::commit(), gem5::minor::Execute::getCommittingThread(), and gem5::minor::Execute::issue().

◆ inFUMemInsts

Queue<QueuedInst, ReportTraitsAdaptor<QueuedInst> >* gem5::minor::Execute::ExecuteThreadInfo::inFUMemInsts

Memory ref instructions still in the FUs.

Definition at line 181 of file execute.hh.

Referenced by gem5::minor::Execute::commit(), gem5::minor::Execute::getCommittingThread(), and gem5::minor::Execute::issue().

◆ inputIndex

unsigned int gem5::minor::Execute::ExecuteThreadInfo::inputIndex

Index that we've completed upto in getInput data.

We can say we're popInput when this equals getInput()->width()

Definition at line 185 of file execute.hh.

Referenced by gem5::minor::Execute::issue().

◆ instsBeingCommitted

ForwardInstData gem5::minor::Execute::ExecuteThreadInfo::instsBeingCommitted

Structure for reporting insts currently being processed/retired for MinorTrace.

Definition at line 193 of file execute.hh.

Referenced by gem5::minor::Execute::commit().

◆ lastCommitWasEndOfMacroop

bool gem5::minor::Execute::ExecuteThreadInfo::lastCommitWasEndOfMacroop

The last commit was the end of a full instruction so an interrupt can safely happen.

Definition at line 189 of file execute.hh.

Referenced by gem5::minor::Execute::commit().

◆ lastPredictionSeqNum

InstSeqNum gem5::minor::Execute::ExecuteThreadInfo::lastPredictionSeqNum

A prediction number for use where one isn't available from an instruction.

This is harvested from committed instructions. This isn't really needed as the streamSeqNum will change on a branch, but it minimises disruption in stream identification

Definition at line 205 of file execute.hh.

Referenced by gem5::minor::Execute::commit().

◆ streamSeqNum

InstSeqNum gem5::minor::Execute::ExecuteThreadInfo::streamSeqNum

Source of sequence number for instuction streams.

Increment this and pass to fetch whenever an instruction stream needs to be changed. For any more complicated behaviour (e.g. speculation) there'll need to be another plan.

Definition at line 199 of file execute.hh.

Referenced by gem5::minor::Execute::commit(), and gem5::minor::Execute::issue().


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

Generated on Tue Sep 21 2021 12:31:29 for gem5 by doxygen 1.8.17