Go to the documentation of this file.
50 #ifndef __CPU_MINOR_PIPE_DATA_HH__
51 #define __CPU_MINOR_PIPE_DATA_HH__
169 std::ostream &
operator <<(std::ostream &
os,
const BranchData &branch);
ForwardInstData(unsigned int width=0, ThreadID tid=InvalidThreadID)
Line fetch data in the forward direction.
static ForwardLineData bubble()
BubbleIF interface.
constexpr decltype(nullptr) NoFault
void reportData(std::ostream &os) const
ReportIF interface.
void bubbleFill()
Fill with bubbles from 0 to width() - 1.
InstId id
Thread, stream, prediction ...
bool isBubble() const
BubbleIF interface.
Id for lines and instructions.
MinorDynInstPtr insts[MAX_FORWARD_INSTS]
Array of carried insts, ref counted.
ThreadID threadId
Thread associated with these instructions.
Reason reason
Explanation for this branch.
unsigned int numInsts
The number of insts slots that can be expected to be valid insts.
void allocateLine(unsigned int width_)
In-place initialise a ForwardLineData, freeing and overridding the line.
unsigned int lineWidth
Explicit line width, don't rely on data.size.
bool isBranch() const
As static isBranch but on this branch data.
static BranchData bubble()
BubbleIF interface.
BranchData(Reason reason_, ThreadID thread_id, InstSeqNum new_stream_seq_num, InstSeqNum new_prediction_seq_num, TheISA::PCState target, MinorDynInstPtr inst_)
Forward flowing data between Fetch2,Decode,Execute carrying a packet of instructions of a width appro...
void setFault(Fault fault_)
Set fault and possible clear the bubble flag.
void reportData(std::ostream &os) const
ReportIF interface.
std::shared_ptr< FaultBase > Fault
@ CorrectlyPredictedBranch
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
GenericISA::DelaySlotPCState< 4 > PCState
@ BadlyPredictedBranchTarget
unsigned int width() const
Number of instructions carried by this object.
ForwardInstData & operator=(const ForwardInstData &src)
Copy the inst array only as far as numInsts.
const ThreadID InvalidThreadID
const unsigned int MAX_FORWARD_INSTS
Maximum number of instructions that can be carried by the pipeline.
Forward data betwen Execute and Fetch1 carrying change-of-address/stream information.
TheISA::PCState target
Starting PC of that stream.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
MinorDynInstPtr inst
Instruction which caused this branch.
GEM5_DEPRECATED_NAMESPACE(GuestABI, guest_abi)
bool isFault() const
This is a fault, not a line.
Packet * packet
Packet from which the line is taken.
void adoptPacketData(Packet *packet)
Use the data from a packet as line instead of allocating new space.
bool isStreamChange() const
As static isStreamChange but on this branch data.
void resize(unsigned int width)
Resize a bubble/empty ForwardInstData and fill with bubbles.
Dynamic instruction for Minor.
ThreadID threadId
ThreadID associated with branch.
std::ostream & operator<<(std::ostream &os, const InstId &id)
Print this id in the usual slash-separated format expected by MinorTrace.
Addr lineBaseAddr
First byte address in the line.
Fault fault
This line has a fault.
void reportData(std::ostream &os) const
ReportIF interface.
TheISA::PCState pc
PC of the first requested inst within this line.
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
InstSeqNum newPredictionSeqNum
InstSeqNum newStreamSeqNum
Sequence number of new stream/prediction to be adopted.
bool bubbleFlag
This line is a bubble.
int16_t ThreadID
Thread index/ID type.
void freeLine()
Free this ForwardLineData line.
Generated on Wed Jul 28 2021 12:10:24 for gem5 by doxygen 1.8.17