gem5 v24.0.0.0
Loading...
Searching...
No Matches
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.
 
ForwardInstDataoperator= (const ForwardInstData &src)
 Copy the inst array only as far as numInsts.
 
void resize (unsigned int width)
 Resize a bubble/empty ForwardInstData and fill with bubbles.
 
void bubbleFill ()
 Fill with bubbles from 0 to width() - 1.
 
bool isBubble () const
 BubbleIF interface.
 
void reportData (std::ostream &os) const
 ReportIF interface.
 

Public Attributes

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

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 283 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 227 of file pipe_data.cc.

References bubbleFill().

◆ ForwardInstData() [2/2]

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

Definition at line 233 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 256 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 239 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 272 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 263 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 303 of file pipe_data.hh.

References numInsts.

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

Member Data Documentation

◆ insts

◆ numInsts

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

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

Definition at line 290 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 293 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 Tue Jun 18 2024 16:24:20 for gem5 by doxygen 1.11.0