gem5 v24.0.0.0
|
Id for lines and instructions. More...
#include <dyn_inst.hh>
Public Member Functions | |
InstId (ThreadID thread_id=0, InstSeqNum stream_seq_num=0, InstSeqNum prediction_seq_num=0, InstSeqNum line_seq_num=0, InstSeqNum fetch_seq_num=0, InstSeqNum exec_seq_num=0) | |
Very boring default constructor. | |
bool | operator== (const InstId &rhs) |
Public Attributes | |
ThreadID | threadId |
The thread to which this line/instruction belongs. | |
InstSeqNum | streamSeqNum |
The 'stream' this instruction belongs to. | |
InstSeqNum | predictionSeqNum |
The predicted qualifier to stream, attached by Fetch2 as a consequence of branch prediction. | |
InstSeqNum | lineSeqNum |
Line sequence number. | |
InstSeqNum | fetchSeqNum |
Fetch sequence number. | |
InstSeqNum | execSeqNum |
'Execute' sequence number. | |
Static Public Attributes | |
static const InstSeqNum | firstStreamSeqNum = 1 |
First sequence numbers to use in initialisation of the pipeline and to be expected on the first line/instruction issued. | |
static const InstSeqNum | firstPredictionSeqNum = 1 |
static const InstSeqNum | firstLineSeqNum = 1 |
static const InstSeqNum | firstFetchSeqNum = 1 |
static const InstSeqNum | firstExecSeqNum = 1 |
Id for lines and instructions.
This includes all the relevant sequence numbers and thread ids for all stages of execution.
Definition at line 75 of file dyn_inst.hh.
|
inline |
Very boring default constructor.
Definition at line 114 of file dyn_inst.hh.
|
inline |
Definition at line 126 of file dyn_inst.hh.
References execSeqNum, fetchSeqNum, lineSeqNum, predictionSeqNum, streamSeqNum, and threadId.
InstSeqNum gem5::minor::InstId::execSeqNum |
'Execute' sequence number.
These are assigned after micro-op decomposition and form an ascending sequence (starting with 1) for post-micro-op decomposed instructions.
Definition at line 110 of file dyn_inst.hh.
Referenced by operator==().
InstSeqNum gem5::minor::InstId::fetchSeqNum |
Fetch sequence number.
This is 0 for bubbles and an ascending sequence for the stream of all fetched instructions
Definition at line 105 of file dyn_inst.hh.
Referenced by operator==().
|
static |
Definition at line 84 of file dyn_inst.hh.
|
static |
Definition at line 83 of file dyn_inst.hh.
|
static |
Definition at line 82 of file dyn_inst.hh.
|
static |
Definition at line 81 of file dyn_inst.hh.
|
static |
First sequence numbers to use in initialisation of the pipeline and to be expected on the first line/instruction issued.
Definition at line 80 of file dyn_inst.hh.
InstSeqNum gem5::minor::InstId::lineSeqNum |
Line sequence number.
This is the sequence number of the fetched line from which this instruction was fetched
Definition at line 101 of file dyn_inst.hh.
Referenced by operator==().
InstSeqNum gem5::minor::InstId::predictionSeqNum |
The predicted qualifier to stream, attached by Fetch2 as a consequence of branch prediction.
Definition at line 97 of file dyn_inst.hh.
Referenced by gem5::minor::Fetch2::evaluate(), and operator==().
InstSeqNum gem5::minor::InstId::streamSeqNum |
The 'stream' this instruction belongs to.
Streams are interrupted (and sequence numbers increased) when Execute finds it wants to change the stream of instructions due to a branch.
Definition at line 93 of file dyn_inst.hh.
Referenced by gem5::minor::Fetch2::evaluate(), and operator==().
ThreadID gem5::minor::InstId::threadId |
The thread to which this line/instruction belongs.
Definition at line 88 of file dyn_inst.hh.
Referenced by gem5::minor::Fetch1::evaluate(), gem5::minor::Fetch2::evaluate(), gem5::minor::Fetch1::fetchLine(), operator==(), and gem5::minor::Fetch1::processResponse().