gem5 v24.0.0.0
Loading...
Searching...
No Matches
gem5::minor::Fetch2::Fetch2ThreadInfo Struct Reference

Data members after this line are cycle-to-cycle state. More...

#include <fetch2.hh>

Public Member Functions

 Fetch2ThreadInfo ()
 
 Fetch2ThreadInfo (const Fetch2ThreadInfo &other)
 

Public Attributes

unsigned int inputIndex = 0
 Index into an incompletely processed input line that instructions are to be extracted from.
 
std::unique_ptr< PCStateBasepc
 Remembered program counter value.
 
bool havePC = false
 PC is currently valid.
 
InstSeqNum lastStreamSeqNum = InstId::firstStreamSeqNum
 Stream sequence number of the last seen line used to identify changes of instruction stream.
 
InstSeqNum fetchSeqNum = InstId::firstFetchSeqNum
 Fetch2 is the source of fetch sequence numbers.
 
InstSeqNum expectedStreamSeqNum = InstId::firstStreamSeqNum
 Stream sequence number remembered from last time the predictionSeqNum changed.
 
InstSeqNum predictionSeqNum = InstId::firstPredictionSeqNum
 Fetch2 is the source of prediction sequence numbers.
 
bool blocked = false
 Blocked indication for report.
 

Detailed Description

Data members after this line are cycle-to-cycle state.

Definition at line 104 of file fetch2.hh.

Constructor & Destructor Documentation

◆ Fetch2ThreadInfo() [1/2]

gem5::minor::Fetch2::Fetch2ThreadInfo::Fetch2ThreadInfo ( )
inline

Definition at line 106 of file fetch2.hh.

◆ Fetch2ThreadInfo() [2/2]

gem5::minor::Fetch2::Fetch2ThreadInfo::Fetch2ThreadInfo ( const Fetch2ThreadInfo & other)
inline

Definition at line 108 of file fetch2.hh.

References pc, and gem5::ArmISA::set.

Member Data Documentation

◆ blocked

bool gem5::minor::Fetch2::Fetch2ThreadInfo::blocked = false

Blocked indication for report.

Definition at line 157 of file fetch2.hh.

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

◆ expectedStreamSeqNum

InstSeqNum gem5::minor::Fetch2::Fetch2ThreadInfo::expectedStreamSeqNum = InstId::firstStreamSeqNum

Stream sequence number remembered from last time the predictionSeqNum changed.

Lines should only be discarded when their predictionSeqNums disagree with Fetch2::predictionSeqNum and they are from the same stream that bore that prediction number

Definition at line 149 of file fetch2.hh.

Referenced by gem5::minor::Fetch2::evaluate(), and gem5::minor::Fetch2::predictBranch().

◆ fetchSeqNum

InstSeqNum gem5::minor::Fetch2::Fetch2ThreadInfo::fetchSeqNum = InstId::firstFetchSeqNum

Fetch2 is the source of fetch sequence numbers.

These represent the sequence that instructions were extracted from fetched lines.

Definition at line 143 of file fetch2.hh.

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

◆ havePC

bool gem5::minor::Fetch2::Fetch2ThreadInfo::havePC = false

PC is currently valid.

Initially false, gets set to true when a change-of-stream line is received and false again when lines are discarded for any reason

Definition at line 135 of file fetch2.hh.

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

◆ inputIndex

unsigned int gem5::minor::Fetch2::Fetch2ThreadInfo::inputIndex = 0

Index into an incompletely processed input line that instructions are to be extracted from.

Definition at line 121 of file fetch2.hh.

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

◆ lastStreamSeqNum

InstSeqNum gem5::minor::Fetch2::Fetch2ThreadInfo::lastStreamSeqNum = InstId::firstStreamSeqNum

Stream sequence number of the last seen line used to identify changes of instruction stream.

Definition at line 139 of file fetch2.hh.

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

◆ pc

std::unique_ptr<PCStateBase> gem5::minor::Fetch2::Fetch2ThreadInfo::pc

Remembered program counter value.

Between contiguous lines, this is just updated with advancePC. For lines following changes of stream, a new PC must be loaded and havePC be set. havePC is needed to accomodate instructions which span across lines meaning that Fetch2 and the decoder need to remember a PC value and a partially-offered instruction from the previous line

Definition at line 130 of file fetch2.hh.

Referenced by gem5::minor::Fetch2::evaluate(), and Fetch2ThreadInfo().

◆ predictionSeqNum

InstSeqNum gem5::minor::Fetch2::Fetch2ThreadInfo::predictionSeqNum = InstId::firstPredictionSeqNum

Fetch2 is the source of prediction sequence numbers.

These represent predicted changes of control flow sources from branch prediction in Fetch2.

Definition at line 154 of file fetch2.hh.

Referenced by gem5::minor::Fetch2::evaluate(), and gem5::minor::Fetch2::predictBranch().


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

Generated on Tue Jun 18 2024 16:24:20 for gem5 by doxygen 1.11.0