Go to the documentation of this file.
45 #ifndef __CPU_MINOR_DECODE_HH__
46 #define __CPU_MINOR_DECODE_HH__
141 MinorCPUParams ¶ms,
bool inMacroop
True when we're in the process of decomposing a micro-op and microopPC will be valid.
Forward flowing data between Fetch2,Decode,Execute carrying a packet of instructions of a width appro...
Latch< ForwardInstData >::Output inp
Input port carrying macro instructions from Fetch2.
unsigned int inputIndex
Index into the inputBuffer's head marking the start of unhandled instructions.
int16_t ThreadID
Thread index/ID type.
InstSeqNum execSeqNum
Source of execSeqNums to number instructions.
void evaluate()
Pass on input/buffer data to the output if you can.
unsigned int outputWidth
Width of output of this stage/input of next in instructions.
Data members after this line are cycle-to-cycle state.
bool blocked
Blocked indication for report.
Latch< ForwardInstData >::Input out
Output port carrying micro-op decomposed instructions to Execute.
void popInput(ThreadID tid)
Pop an element off the input buffer, if there are any.
Decode(const std::string &name, MinorCPU &cpu_, MinorCPUParams ¶ms, Latch< ForwardInstData >::Output inp_, Latch< ForwardInstData >::Input out_, std::vector< InputBuffer< ForwardInstData >> &next_stage_input_buffer)
MinorCPU is an in-order CPU model with four fixed pipeline stages:
DecodeThreadInfo()
Default Constructor.
bool processMoreThanOneInput
If true, more than one input word can be processed each cycle if there is room in the output to conta...
bool isDrained()
Is this stage drained? For Decoed, draining is initiated by Execute halting Fetch1 causing Fetch2 to ...
TheISA::PCState microopPC
std::vector< InputBuffer< ForwardInstData > > & nextStageReserve
Interface to reserve space in the next stage.
MinorCPU & cpu
Pointer back to the containing CPU.
const ForwardInstData * getInput(ThreadID tid)
Get a piece of data to work on, or 0 if there is no data.
GenericISA::DelaySlotPCState< MachInst > PCState
ThreadID getScheduledThread()
Use the current threading policy to determine the next thread to decode from.
std::vector< InputBuffer< ForwardInstData > > inputBuffer
DecodeThreadInfo(const DecodeThreadInfo &other)
const std::string & name() const
Id for lines and instructions.
std::vector< DecodeThreadInfo > decodeInfo
Generated on Wed Sep 30 2020 14:02:08 for gem5 by doxygen 1.8.17