gem5  v22.1.0.0
Public Member Functions | Public Attributes | List of all members
gem5::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 284 of file pipe_data.hh.

Constructor & Destructor Documentation

◆ ForwardInstData() [1/2]

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

Definition at line 228 of file pipe_data.cc.

References bubbleFill().

◆ ForwardInstData() [2/2]

gem5::minor::ForwardInstData::ForwardInstData ( const ForwardInstData src)

Definition at line 234 of file pipe_data.cc.

Member Function Documentation

◆ bubbleFill()

void gem5::minor::ForwardInstData::bubbleFill ( )

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

Definition at line 257 of file pipe_data.cc.

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

Referenced by ForwardInstData(), and resize().

◆ isBubble()

bool gem5::minor::ForwardInstData::isBubble ( ) const

◆ operator=()

ForwardInstData & gem5::minor::ForwardInstData::operator= ( const ForwardInstData src)

Copy the inst array only as far as numInsts.

Definition at line 240 of file pipe_data.cc.

References gem5::ArmISA::i, insts, and numInsts.

◆ reportData()

void gem5::minor::ForwardInstData::reportData ( std::ostream &  os) const

ReportIF interface.

Definition at line 273 of file pipe_data.cc.

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

◆ resize()

void gem5::minor::ForwardInstData::resize ( unsigned int  width)

Resize a bubble/empty ForwardInstData and fill with bubbles.

Definition at line 264 of file pipe_data.cc.

References bubbleFill(), gem5::minor::MAX_FORWARD_INSTS, numInsts, and width().

Referenced by gem5::minor::Decode::evaluate(), and gem5::minor::Fetch2::evaluate().

◆ width()

unsigned int gem5::minor::ForwardInstData::width ( ) const
inline

Number of instructions carried by this object.

Definition at line 304 of file pipe_data.hh.

References numInsts.

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

Member Data Documentation

◆ insts

MinorDynInstPtr gem5::minor::ForwardInstData::insts[MAX_FORWARD_INSTS]

◆ numInsts

unsigned int gem5::minor::ForwardInstData::numInsts

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

Definition at line 291 of file pipe_data.hh.

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

◆ threadId

ThreadID gem5::minor::ForwardInstData::threadId

Thread associated with these instructions.

Definition at line 294 of file pipe_data.hh.

Referenced by gem5::minor::Decode::evaluate(), and gem5::minor::Fetch2::evaluate().


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

Generated on Wed Dec 21 2022 10:24:16 for gem5 by doxygen 1.9.1