gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 255 of file pipe_data.hh.

Constructor & Destructor Documentation

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

Definition at line 226 of file pipe_data.cc.

References bubbleFill().

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

Definition at line 232 of file pipe_data.cc.

Member Function Documentation

void Minor::ForwardInstData::bubbleFill ( )

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

Definition at line 255 of file pipe_data.cc.

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

Referenced by ForwardInstData(), and resize().

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

Copy the inst array only as far as numInsts.

Definition at line 238 of file pipe_data.cc.

References ArmISA::i, insts, and numInsts.

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

ReportIF interface.

Definition at line 271 of file pipe_data.cc.

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

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

Resize a bubble/empty ForwardInstData and fill with bubbles.

Definition at line 262 of file pipe_data.cc.

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

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

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

Number of instructions carried by this object.

Definition at line 275 of file pipe_data.hh.

References numInsts.

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

Member Data Documentation

MinorDynInstPtr Minor::ForwardInstData::insts[MAX_FORWARD_INSTS]
unsigned int Minor::ForwardInstData::numInsts

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

Definition at line 262 of file pipe_data.hh.

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

ThreadID Minor::ForwardInstData::threadId

Thread associated with these instructions.

Definition at line 265 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 Fri Jun 9 2017 13:04:33 for gem5 by doxygen 1.8.6