gem5  v20.1.0.0
Public Member Functions | Public Attributes | List of all members
Minor::ForwardInstData Class Reference

Forward flowing data between Fetch2,Decode,Execute carrying a packet of instructions of a width appropriate to the configured stage widths. More...

#include <pipe_data.hh>

Public Member Functions

 ForwardInstData (unsigned int width=0, ThreadID tid=InvalidThreadID)
 
 ForwardInstData (const ForwardInstData &src)
 
unsigned int width () const
 Number of instructions carried by this object. More...
 
ForwardInstDataoperator= (const ForwardInstData &src)
 Copy the inst array only as far as numInsts. More...
 
void resize (unsigned int width)
 Resize a bubble/empty ForwardInstData and fill with bubbles. More...
 
void bubbleFill ()
 Fill with bubbles from 0 to width() - 1. More...
 
bool isBubble () const
 BubbleIF interface. More...
 
void reportData (std::ostream &os) const
 ReportIF interface. More...
 

Public Attributes

MinorDynInstPtr insts [MAX_FORWARD_INSTS]
 Array of carried insts, ref counted. More...
 
unsigned int numInsts
 The number of insts slots that can be expected to be valid insts. More...
 
ThreadID threadId
 Thread associated with these instructions. More...
 

Detailed Description

Forward flowing data between Fetch2,Decode,Execute carrying a packet of instructions of a width appropriate to the configured stage widths.

Also carries exception information where instructions are not valid

Definition at line 253 of file pipe_data.hh.

Constructor & Destructor Documentation

◆ ForwardInstData() [1/2]

Minor::ForwardInstData::ForwardInstData ( unsigned int  width = 0,
ThreadID  tid = InvalidThreadID 
)
explicit

Definition at line 224 of file pipe_data.cc.

References bubbleFill().

◆ ForwardInstData() [2/2]

Minor::ForwardInstData::ForwardInstData ( const ForwardInstData src)

Definition at line 230 of file pipe_data.cc.

Member Function Documentation

◆ bubbleFill()

void Minor::ForwardInstData::bubbleFill ( )

Fill with bubbles from 0 to width() - 1.

Definition at line 253 of file pipe_data.cc.

References Minor::MinorDynInst::bubble(), ArmISA::i, insts, and numInsts.

Referenced by ForwardInstData(), and resize().

◆ isBubble()

bool Minor::ForwardInstData::isBubble ( ) const

◆ operator=()

ForwardInstData & Minor::ForwardInstData::operator= ( const ForwardInstData src)

Copy the inst array only as far as numInsts.

Definition at line 236 of file pipe_data.cc.

References ArmISA::i, insts, and numInsts.

◆ reportData()

void Minor::ForwardInstData::reportData ( std::ostream &  os) const

ReportIF interface.

Definition at line 269 of file pipe_data.cc.

References ArmISA::i, insts, isBubble(), numInsts, and X86ISA::os.

◆ resize()

void Minor::ForwardInstData::resize ( unsigned int  width)

Resize a bubble/empty ForwardInstData and fill with bubbles.

Definition at line 260 of file pipe_data.cc.

References bubbleFill(), Minor::MAX_FORWARD_INSTS, numInsts, and width().

Referenced by Minor::Decode::evaluate(), and Minor::Fetch2::evaluate().

◆ width()

unsigned int Minor::ForwardInstData::width ( ) const
inline

Number of instructions carried by this object.

Definition at line 273 of file pipe_data.hh.

References numInsts.

Referenced by Minor::Decode::evaluate(), Minor::Execute::issue(), and resize().

Member Data Documentation

◆ insts

MinorDynInstPtr Minor::ForwardInstData::insts[MAX_FORWARD_INSTS]

◆ numInsts

unsigned int Minor::ForwardInstData::numInsts

The number of insts slots that can be expected to be valid insts.

Definition at line 260 of file pipe_data.hh.

Referenced by bubbleFill(), isBubble(), operator=(), reportData(), resize(), and width().

◆ threadId

ThreadID Minor::ForwardInstData::threadId

Thread associated with these instructions.

Definition at line 263 of file pipe_data.hh.

Referenced by Minor::Decode::evaluate(), and Minor::Fetch2::evaluate().


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

Generated on Wed Sep 30 2020 14:03:06 for gem5 by doxygen 1.8.17