gem5 v24.0.0.0
|
Classes | |
class | BranchData |
Forward data betwen Execute and Fetch1 carrying change-of-address/stream information. More... | |
class | BubbleIF |
Interface class for data with 'bubble' values. More... | |
class | BubbleTraitsAdaptor |
Pass on call to the element. More... | |
class | BubbleTraitsPtrAdaptor |
Pass on call to the element where the element is a pointer. More... | |
class | Decode |
class | ExecContext |
ExecContext bears the exec_context interface for Minor. More... | |
class | Execute |
Execute stage. More... | |
class | Fetch1 |
A stage responsible for fetching "lines" from memory and passing them to Fetch2. More... | |
class | Fetch2 |
This stage receives lines of data from Fetch1, separates them into instructions and passes them to Decode. More... | |
class | ForwardInstData |
Forward flowing data between Fetch2,Decode,Execute carrying a packet of instructions of a width appropriate to the configured stage widths. More... | |
class | ForwardLineData |
Line fetch data in the forward direction. More... | |
class | FUPipeline |
A functional unit configured from a MinorFU object. More... | |
class | InputBuffer |
Like a Queue but with a restricted interface and a setTail function which, when the queue is empty, just takes a reference to the pushed item as the single element. More... | |
class | InstId |
Id for lines and instructions. More... | |
class | Latch |
Wraps a MinorBuffer with Input/Output interfaces to ensure that units within the model can only see the right end of buffers between them. More... | |
class | LSQ |
class | MinorActivityRecorder |
ActivityRecorder with a Ticked interface. More... | |
class | MinorBuffer |
TimeBuffer with MinorTrace and Named interfaces. More... | |
class | MinorDynInst |
Dynamic instruction for Minor. More... | |
struct | MinorStats |
Currently unused stats class. More... | |
class | NoBubbleTraits |
... BubbleTraits are trait classes to add BubbleIF interface functionality to templates which process elements which don't necessarily implement BubbleIF themselves More... | |
class | Pipeline |
The constructed pipeline. More... | |
class | Queue |
Wrapper for a queue type to act as a pipeline stage input queue. More... | |
class | QueuedInst |
Container class to box instructions in the FUs to make those queues have correct bubble behaviour when stepped. More... | |
class | ReportIF |
Interface class for data with reporting/tracing facilities. More... | |
class | ReportTraitsAdaptor |
...ReportTraits are trait classes with the same functionality as ReportIF, but with elements explicitly passed into the report... functions. More... | |
class | ReportTraitsPtrAdaptor |
A similar adaptor but for elements held by pointer ElemType should implement ReportIF. More... | |
class | Reservable |
Base class for space reservation requestable objects. More... | |
class | Scoreboard |
A scoreboard of register dependencies including, for each register: The number of in-flight instructions which will generate a result for this register. More... | |
class | SelfStallingPipeline |
A pipeline simulating class that will stall (not advance when advance() is called) if a non-bubble value lies at the far end of the pipeline. More... | |
Typedefs | |
typedef SimpleThread | MinorThread |
Minor will use the SimpleThread state for now. | |
typedef RefCountingPtr< MinorDynInst > | MinorDynInstPtr |
MinorDynInsts are currently reference counted. | |
typedef SelfStallingPipeline< QueuedInst, ReportTraitsAdaptor< QueuedInst > > | FUPipelineBase |
Functional units have pipelines which stall when an inst gets to their ends allowing Execute::commit to pick up timing-completed insts when it feels like it. | |
Functions | |
std::ostream & | operator<< (std::ostream &os, const InstId &id) |
Print this id in the usual slash-separated format expected by MinorTrace. | |
std::ostream & | operator<< (std::ostream &os, const MinorDynInst &inst) |
Print a short reference to this instruction. | |
static void | printRegName (std::ostream &os, const RegId ®) |
Print a register in the form r<n>, f<n>, m<n>(<name>) for integer, float, and misc given an 'architectural register number'. | |
unsigned int | cyclicIndexInc (unsigned int index, unsigned int cycle_size) |
Increment a cyclic buffer index for indices [0, cycle_size-1]. | |
unsigned int | cyclicIndexDec (unsigned int index, unsigned int cycle_size) |
Decrement a cyclic buffer index for indices [0, cycle_size-1]. | |
std::ostream & | operator<< (std::ostream &os, Execute::DrainState state) |
std::ostream & | operator<< (std::ostream &os, Fetch1::IcacheState state) |
std::ostream & | operator<< (std::ostream &os, Fetch1::FetchState state) |
std::ostream & | operator<< (std::ostream &os, LSQ::AddrRangeCoverage coverage) |
std::ostream & | operator<< (std::ostream &os, LSQ::LSQRequest::LSQRequestState state) |
PacketPtr | makePacketForRequest (const RequestPtr &request, bool isLoad, Packet::SenderState *sender_state=NULL, PacketDataPtr data=NULL) |
Make a suitable packet for the given request. | |
std::ostream & | operator<< (std::ostream &os, LSQ::MemoryState state) |
std::ostream & | operator<< (std::ostream &os, BranchData::Reason reason) |
Print a branch reason enum. | |
std::ostream & | operator<< (std::ostream &os, const BranchData &branch) |
Print BranchData contents in a format suitable for DPRINTF comments, not for MinorTrace. | |
template<class ... Args> | |
void | minorTrace (const char *fmt, Args ...args) |
DPRINTFN for MinorTrace reporting. | |
template<class ... Args> | |
void | minorInst (const Named &named, const char *fmt, Args ...args) |
DPRINTFN for MinorTrace MinorInst line reporting. | |
template<class ... Args> | |
void | minorLine (const Named &named, const char *fmt, Args ...args) |
DPRINTFN for MinorTrace MinorLine line reporting. | |
Variables | |
const unsigned int | MAX_FORWARD_INSTS = 16 |
Maximum number of instructions that can be carried by the pipeline. | |
typedef SelfStallingPipeline<QueuedInst, ReportTraitsAdaptor<QueuedInst> > gem5::minor::FUPipelineBase |
Functional units have pipelines which stall when an inst gets to their ends allowing Execute::commit to pick up timing-completed insts when it feels like it.
Definition at line 229 of file func_unit.hh.
MinorDynInsts are currently reference counted.
Definition at line 71 of file dyn_inst.hh.
typedef SimpleThread gem5::minor::MinorThread |
Minor will use the SimpleThread state for now.
|
inline |
Decrement a cyclic buffer index for indices [0, cycle_size-1].
Definition at line 536 of file execute.cc.
References gem5::MipsISA::index.
|
inline |
Increment a cyclic buffer index for indices [0, cycle_size-1].
Definition at line 524 of file execute.cc.
References gem5::MipsISA::index.
PacketPtr gem5::minor::makePacketForRequest | ( | const RequestPtr & | request, |
bool | isLoad, | ||
Packet::SenderState * | sender_state = NULL, | ||
PacketDataPtr | data = NULL ) |
Make a suitable packet for the given request.
If the request is a store, data will be the payload data. If sender_state is NULL, it won't be pushed into the packet as senderState
Definition at line 1696 of file lsq.cc.
References gem5::Packet::allocate(), gem5::Packet::createRead(), gem5::Packet::createWrite(), data, gem5::Packet::dataDynamic(), and gem5::Packet::pushSenderState().
Referenced by gem5::minor::LSQ::SplitDataRequest::makeFragmentPackets(), and gem5::minor::LSQ::LSQRequest::makePacket().
|
inline |
DPRINTFN for MinorTrace MinorInst line reporting.
Definition at line 74 of file trace.hh.
References DPRINTFS.
Referenced by gem5::minor::MinorDynInst::minorTraceInst().
|
inline |
DPRINTFN for MinorTrace MinorLine line reporting.
Definition at line 83 of file trace.hh.
References DPRINTFS.
Referenced by gem5::minor::Fetch1::minorTraceResponseLine().
|
inline |
DPRINTFN for MinorTrace reporting.
Definition at line 66 of file trace.hh.
References DPRINTF.
Referenced by gem5::minor::Decode::minorTrace(), gem5::minor::Execute::minorTrace(), gem5::minor::Fetch1::minorTrace(), gem5::minor::Fetch2::minorTrace(), gem5::minor::LSQ::minorTrace(), gem5::minor::LSQ::StoreBuffer::minorTrace(), gem5::minor::MinorActivityRecorder::minorTrace(), gem5::minor::MinorBuffer< ElemType, ReportTraits, BubbleTraits >::minorTrace(), gem5::minor::Queue< ElemType, ReportTraits, BubbleTraits >::minorTrace(), and gem5::minor::Scoreboard::minorTrace().
std::ostream & gem5::minor::operator<< | ( | std::ostream & | os, |
BranchData::Reason | reason ) |
Print a branch reason enum.
Definition at line 46 of file pipe_data.cc.
References gem5::minor::BranchData::BadlyPredictedBranch, gem5::minor::BranchData::BadlyPredictedBranchTarget, gem5::minor::BranchData::BranchPrediction, gem5::minor::BranchData::CorrectlyPredictedBranch, gem5::minor::BranchData::HaltFetch, gem5::minor::BranchData::Interrupt, gem5::minor::BranchData::NoBranch, gem5::X86ISA::os, gem5::minor::BranchData::SuspendThread, and gem5::minor::BranchData::UnpredictedBranch.
std::ostream & gem5::minor::operator<< | ( | std::ostream & | os, |
const BranchData & | branch ) |
Print BranchData contents in a format suitable for DPRINTF comments, not for MinorTrace.
Definition at line 153 of file pipe_data.cc.
References gem5::minor::BranchData::inst, gem5::minor::BranchData::newPredictionSeqNum, gem5::minor::BranchData::newStreamSeqNum, gem5::X86ISA::os, gem5::minor::BranchData::reason, and gem5::minor::BranchData::target.
std::ostream & gem5::minor::operator<< | ( | std::ostream & | os, |
const InstId & | id ) |
Print this id in the usual slash-separated format expected by MinorTrace.
Definition at line 62 of file dyn_inst.cc.
References gem5::X86ISA::os.
std::ostream & gem5::minor::operator<< | ( | std::ostream & | os, |
const MinorDynInst & | inst ) |
Print a short reference to this instruction.
Print a summary of the instruction.
'-' for a bubble and a series of '/' separated sequence numbers for other instructions. The sequence numbers will be in the order: stream, prediction, line, fetch, exec with exec absent if it is 0. This is used by MinorTrace.
Definition at line 112 of file dyn_inst.cc.
References gem5::minor::MinorDynInst::fault, gem5::StaticInst::getName(), gem5::minor::MinorDynInst::id, gem5::minor::MinorDynInst::isFault(), gem5::NoFault, gem5::X86ISA::os, gem5::minor::MinorDynInst::pc, gem5::minor::MinorDynInst::staticInst, and gem5::minor::MinorDynInst::translationFault.
std::ostream & gem5::minor::operator<< | ( | std::ostream & | os, |
Execute::DrainState | state ) |
Definition at line 1793 of file execute.cc.
std::ostream & gem5::minor::operator<< | ( | std::ostream & | os, |
Fetch1::FetchState | state ) |
std::ostream & gem5::minor::operator<< | ( | std::ostream & | os, |
Fetch1::IcacheState | state ) |
std::ostream & gem5::minor::operator<< | ( | std::ostream & | os, |
LSQ::AddrRangeCoverage | coverage ) |
std::ostream & gem5::minor::operator<< | ( | std::ostream & | os, |
LSQ::LSQRequest::LSQRequestState | state ) |
std::ostream & gem5::minor::operator<< | ( | std::ostream & | os, |
LSQ::MemoryState | state ) |
|
static |
Print a register in the form r<n>, f<n>, m<n>(<name>) for integer, float, and misc given an 'architectural register number'.
Definition at line 140 of file dyn_inst.cc.
References gem5::CCRegClass, gem5::FloatRegClass, gem5::IntRegClass, gem5::InvalidRegClass, gem5::MiscRegClass, gem5::X86ISA::os, panic, gem5::X86ISA::reg, gem5::VecElemClass, and gem5::VecRegClass.
Referenced by gem5::minor::MinorDynInst::minorTraceInst().
const unsigned int gem5::minor::MAX_FORWARD_INSTS = 16 |
Maximum number of instructions that can be carried by the pipeline.
Definition at line 278 of file pipe_data.hh.
Referenced by gem5::minor::ForwardInstData::resize().