gem5
v20.1.0.0
|
#include <exec_stage.hh>
Public Member Functions | |
ExecStage (const ComputeUnitParams *p, ComputeUnit &cu, ScheduleToExecute &from_schedule) | |
~ExecStage () | |
void | init () |
void | exec () |
std::string | dispStatusToStr (int j) |
void | dumpDispList () |
const std::string & | name () const |
void | regStats () |
Private Member Functions | |
void | collectStatistics (enum STAT_STATUS stage, int unitId) |
void | initStatistics () |
Private Attributes | |
ComputeUnit & | computeUnit |
ScheduleToExecute & | fromSchedule |
bool | lastTimeInstExecuted |
bool | thisTimeInstExecuted |
bool | instrExecuted |
Stats::Scalar | numTransActiveIdle |
Stats::Distribution | idleDur |
int | executionResourcesUsed |
uint64_t | idle_dur |
const std::string | _name |
Definition at line 71 of file exec_stage.hh.
ExecStage::ExecStage | ( | const ComputeUnitParams * | p, |
ComputeUnit & | cu, | ||
ScheduleToExecute & | from_schedule | ||
) |
Definition at line 44 of file exec_stage.cc.
References idle_dur, and numTransActiveIdle.
|
inline |
Definition at line 76 of file exec_stage.hh.
|
private |
Definition at line 63 of file exec_stage.cc.
References BusyExec, executionResourcesUsed, idle_dur, idleDur, IdleExec, instrExecuted, lastTimeInstExecuted, numCyclesWithInstrIssued, numCyclesWithInstrTypeIssued, numCyclesWithNoInstrTypeIssued, numCyclesWithNoIssue, numTransActiveIdle, PostExec, Stats::DistBase< Derived, Stor >::sample(), spc, and thisTimeInstExecuted.
Referenced by exec().
std::string ExecStage::dispStatusToStr | ( | int | j | ) |
Definition at line 109 of file exec_stage.cc.
References EMPTY, EXREADY, ArmISA::i, ArmISA::s, and SKIP.
Referenced by dumpDispList().
void ExecStage::dumpDispList | ( | ) |
Definition at line 127 of file exec_stage.cc.
References computeUnit, ScheduleToExecute::dispatchStatus(), dispStatusToStr(), DPRINTF, EMPTY, fromSchedule, ArmISA::i, Wavefront::instructionBuffer, ComputeUnit::numExeUnits(), ScheduleToExecute::readyInst(), ArmISA::s, Wavefront::simdId, ArmISA::ss, and Wavefront::wfDynId.
Referenced by exec().
void ExecStage::exec | ( | ) |
Definition at line 150 of file exec_stage.cc.
References BusyExec, collectStatistics(), computeUnit, ScheduleToExecute::dispatchStatus(), ScheduleToExecute::dispatchTransition(), DPRINTF, dumpDispList(), EMPTY, Wavefront::exec(), EXREADY, Wavefront::freeResources(), fromSchedule, IdleExec, initStatistics(), ComputeUnit::numExeUnits(), panic, PostExec, ScheduleToExecute::readyInst(), ArmISA::s, ComputeUnit::scheduleStage, Wavefront::simdId, SKIP, and Wavefront::wfDynId.
Referenced by ComputeUnit::exec().
void ExecStage::init | ( | ) |
Definition at line 57 of file exec_stage.cc.
References idle_dur.
Referenced by ComputeUnit::init().
|
private |
Definition at line 101 of file exec_stage.cc.
References executionResourcesUsed, instrExecuted, and thisTimeInstExecuted.
Referenced by exec().
|
inline |
void ExecStage::regStats | ( | ) |
Definition at line 200 of file exec_stage.cc.
References ArmISA::c, computeUnit, Stats::DataWrap< Derived, InfoProxyType >::desc(), ArmISA::i, idleDur, Stats::VectorBase< Derived, Stor >::init(), Stats::Distribution::init(), name(), Stats::DataWrap< Derived, InfoProxyType >::name(), numCyclesWithInstrIssued, numCyclesWithInstrTypeIssued, numCyclesWithNoInstrTypeIssued, numCyclesWithNoIssue, ComputeUnit::numExeUnits(), ComputeUnit::numScalarALUs, numTransActiveIdle, ComputeUnit::numVectorALUs, ArmISA::s, spc, Stats::DataWrapVec< Derived, InfoProxyType >::subname(), and sc_dt::to_string().
Referenced by ComputeUnit::regStats().
|
private |
Definition at line 112 of file exec_stage.hh.
Referenced by name().
|
private |
Definition at line 102 of file exec_stage.hh.
Referenced by dumpDispList(), exec(), and regStats().
|
private |
Definition at line 110 of file exec_stage.hh.
Referenced by collectStatistics(), and initStatistics().
|
private |
Definition at line 103 of file exec_stage.hh.
Referenced by dumpDispList(), and exec().
|
private |
Definition at line 111 of file exec_stage.hh.
Referenced by collectStatistics(), ExecStage(), and init().
|
private |
Definition at line 109 of file exec_stage.hh.
Referenced by collectStatistics(), and regStats().
|
private |
Definition at line 107 of file exec_stage.hh.
Referenced by collectStatistics(), and initStatistics().
|
private |
Definition at line 105 of file exec_stage.hh.
Referenced by collectStatistics().
Stats::Scalar ExecStage::numCyclesWithInstrIssued |
Definition at line 88 of file exec_stage.hh.
Referenced by collectStatistics(), and regStats().
Stats::Vector ExecStage::numCyclesWithInstrTypeIssued |
Definition at line 91 of file exec_stage.hh.
Referenced by collectStatistics(), and regStats().
Stats::Vector ExecStage::numCyclesWithNoInstrTypeIssued |
Definition at line 95 of file exec_stage.hh.
Referenced by collectStatistics(), and regStats().
Stats::Scalar ExecStage::numCyclesWithNoIssue |
Definition at line 86 of file exec_stage.hh.
Referenced by collectStatistics(), and regStats().
|
private |
Definition at line 108 of file exec_stage.hh.
Referenced by collectStatistics(), ExecStage(), and regStats().
Stats::Distribution ExecStage::spc |
Definition at line 97 of file exec_stage.hh.
Referenced by collectStatistics(), and regStats().
|
private |
Definition at line 106 of file exec_stage.hh.
Referenced by collectStatistics(), and initStatistics().