|
gem5
v21.2.1.1
|
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. More... | |
| bool | operator== (const InstId &rhs) |
Public Attributes | |
| ThreadID | threadId |
| The thread to which this line/instruction belongs. More... | |
| InstSeqNum | streamSeqNum |
| The 'stream' this instruction belongs to. More... | |
| InstSeqNum | predictionSeqNum |
| The predicted qualifier to stream, attached by Fetch2 as a consequence of branch prediction. More... | |
| InstSeqNum | lineSeqNum |
| Line sequence number. More... | |
| InstSeqNum | fetchSeqNum |
| Fetch sequence number. More... | |
| InstSeqNum | execSeqNum |
| 'Execute' sequence number. More... | |
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. More... | |
| 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 76 of file dyn_inst.hh.
|
inline |
Very boring default constructor.
Definition at line 115 of file dyn_inst.hh.
|
inline |
Definition at line 127 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 111 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 106 of file dyn_inst.hh.
Referenced by operator==().
|
static |
Definition at line 85 of file dyn_inst.hh.
|
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 |
First sequence numbers to use in initialisation of the pipeline and to be expected on the first line/instruction issued.
Definition at line 81 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 102 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 98 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 94 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 89 of file dyn_inst.hh.
Referenced by gem5::minor::Fetch2::evaluate(), gem5::minor::Fetch1::evaluate(), gem5::minor::Fetch1::fetchLine(), operator==(), and gem5::minor::Fetch1::processResponse().