50 #ifndef __CPU_MINOR_PIPE_DATA_HH__ 51 #define __CPU_MINOR_PIPE_DATA_HH__ 140 newStreamSeqNum(new_stream_seq_num),
141 newPredictionSeqNum(new_prediction_seq_num),
223 void setFault(
Fault fault_);
227 void allocateLine(
unsigned int width_);
231 void adoptPacketData(
Packet *packet);
273 unsigned int width()
const {
return numInsts; }
279 void resize(
unsigned int width);
MinorDynInstPtr inst
Instruction which caused this branch.
std::ostream & operator<<(std::ostream &os, const InstId &id)
Print this id in the usual slash-separated format expected by MinorTrace.
decltype(nullptr) constexpr NoFault
bool isBranch() const
As static isBranch but on this branch data.
static BranchData bubble()
BubbleIF interface.
const unsigned int MAX_FORWARD_INSTS
Maximum number of instructions that can be carried by the pipeline.
Addr lineBaseAddr
First byte address in the line.
ThreadID threadId
ThreadID associated with branch.
bool bubbleFlag
This line is a bubble.
Line fetch data in the forward direction.
Reason reason
Explanation for this branch.
unsigned int width() const
Number of instructions carried by this object.
Id for lines and instructions.
InstSeqNum newStreamSeqNum
Sequence number of new stream/prediction to be adopted.
TheISA::PCState pc
PC of the first requested inst within this line.
Minor contains all the definitions within the MinorCPU apart from the CPU class itself.
void reportData(std::ostream &os) const
ReportIF interface.
unsigned int lineWidth
Explicit line width, don't rely on data.size.
InstId id
Thread, stream, prediction ...
Classes for buffer, queue and FIFO behaviour.
unsigned int numInsts
The number of insts slots that can be expected to be valid insts.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
A Packet is used to encapsulate a transfer between two objects in the memory system (e...
const ThreadID InvalidThreadID
int16_t ThreadID
Thread index/ID type.
Dynamic instruction for Minor.
Forward data betwen Execute and Fetch1 carrying change-of-address/stream information.
Packet * packet
Packet from which the line is taken.
bool isFault() const
This is a fault, not a line.
static ForwardLineData bubble()
BubbleIF interface.
The dynamic instruction and instruction/line id (sequence numbers) definition for Minor...
InstSeqNum newPredictionSeqNum
Fault fault
This line has a fault.
TheISA::PCState target
Starting PC of that stream.
GenericISA::DelaySlotPCState< MachInst > PCState
BranchData(Reason reason_, ThreadID thread_id, InstSeqNum new_stream_seq_num, InstSeqNum new_prediction_seq_num, TheISA::PCState target, MinorDynInstPtr inst_)
std::shared_ptr< FaultBase > Fault
Forward flowing data between Fetch2,Decode,Execute carrying a packet of instructions of a width appro...
bool isStreamChange() const
As static isStreamChange but on this branch data.
ThreadID threadId
Thread associated with these instructions.