gem5 v24.0.0.0
|
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< PCStateBase > | pc |
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. | |
|
inline |
|
inline |
Definition at line 108 of file fetch2.hh.
References pc, and gem5::ArmISA::set.
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().
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().
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().
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().
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().
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().
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().
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().