gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
Minor::InstId Class Reference

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
 

Detailed Description

Id for lines and instructions.

This includes all the relevant sequence numbers and thread ids for all stages of execution.

Definition at line 70 of file dyn_inst.hh.

Constructor & Destructor Documentation

Minor::InstId::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 
)
inline

Very boring default constructor.

Definition at line 109 of file dyn_inst.hh.

Member Function Documentation

bool Minor::InstId::operator== ( const InstId rhs)
inline

Definition at line 121 of file dyn_inst.hh.

References execSeqNum, fetchSeqNum, lineSeqNum, predictionSeqNum, streamSeqNum, and threadId.

Member Data Documentation

InstSeqNum 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 105 of file dyn_inst.hh.

Referenced by operator==().

InstSeqNum 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 100 of file dyn_inst.hh.

Referenced by operator==().

const InstSeqNum Minor::InstId::firstExecSeqNum = 1
static

Definition at line 79 of file dyn_inst.hh.

const InstSeqNum Minor::InstId::firstFetchSeqNum = 1
static

Definition at line 78 of file dyn_inst.hh.

const InstSeqNum Minor::InstId::firstLineSeqNum = 1
static

Definition at line 77 of file dyn_inst.hh.

const InstSeqNum Minor::InstId::firstPredictionSeqNum = 1
static

Definition at line 76 of file dyn_inst.hh.

const InstSeqNum Minor::InstId::firstStreamSeqNum = 1
static

First sequence numbers to use in initialisation of the pipeline and to be expected on the first line/instruction issued.

Definition at line 75 of file dyn_inst.hh.

InstSeqNum Minor::InstId::lineSeqNum

Line sequence number.

This is the sequence number of the fetched line from which this instruction was fetched

Definition at line 96 of file dyn_inst.hh.

Referenced by operator==().

InstSeqNum Minor::InstId::predictionSeqNum

The predicted qualifier to stream, attached by Fetch2 as a consequence of branch prediction.

Definition at line 92 of file dyn_inst.hh.

Referenced by Minor::Fetch2::evaluate(), and operator==().

InstSeqNum 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 88 of file dyn_inst.hh.

Referenced by Minor::Fetch2::evaluate(), and operator==().

ThreadID Minor::InstId::threadId

The thread to which this line/instruction belongs.

Definition at line 83 of file dyn_inst.hh.

Referenced by Minor::Fetch2::evaluate(), Minor::Fetch1::evaluate(), Minor::Fetch1::fetchLine(), operator==(), and Minor::Fetch1::processResponse().


The documentation for this class was generated from the following files:

Generated on Fri Jun 9 2017 13:04:33 for gem5 by doxygen 1.8.6