gem5
v20.1.0.0
|
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... | |
ForwardInstData & | operator= (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... | |
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.
|
explicit |
Definition at line 224 of file pipe_data.cc.
References bubbleFill().
Minor::ForwardInstData::ForwardInstData | ( | const ForwardInstData & | src | ) |
Definition at line 230 of file pipe_data.cc.
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().
bool Minor::ForwardInstData::isBubble | ( | ) | const |
BubbleIF interface.
Definition at line 247 of file pipe_data.cc.
References insts, and numInsts.
Referenced by Minor::Decode::evaluate(), Minor::Fetch2::evaluate(), Minor::Decode::getInput(), Minor::Execute::getInput(), and reportData().
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.
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.
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().
|
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().
MinorDynInstPtr Minor::ForwardInstData::insts[MAX_FORWARD_INSTS] |
Array of carried insts, ref counted.
Definition at line 257 of file pipe_data.hh.
Referenced by bubbleFill(), Minor::Execute::commit(), Minor::Decode::evaluate(), Minor::Fetch2::evaluate(), Minor::Execute::evaluate(), isBubble(), Minor::Execute::issue(), operator=(), and reportData().
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 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().