gem5
|
#include <schedule_stage.hh>
Public Member Functions | |
ScheduleStage (const ComputeUnitParams *params) | |
~ScheduleStage () | |
void | init (ComputeUnit *cu) |
void | exec () |
void | arbitrate () |
std::string | name () |
void | regStats () |
Private Attributes | |
ComputeUnit * | computeUnit |
uint32_t | numSIMDs |
uint32_t | numMemUnits |
std::vector< Scheduler > | scheduler |
std::vector< std::vector < std::pair< Wavefront *, WAVE_STATUS > > * > | waveStatusList |
std::vector< std::pair < Wavefront *, DISPATCH_STATUS > > * | dispatchList |
std::string | _name |
Definition at line 56 of file schedule_stage.hh.
ScheduleStage::ScheduleStage | ( | const ComputeUnitParams * | params | ) |
Definition at line 43 of file schedule_stage.cc.
References ArmISA::j, numMemUnits, numSIMDs, and scheduler.
ScheduleStage::~ScheduleStage | ( | ) |
Definition at line 53 of file schedule_stage.cc.
References scheduler, and waveStatusList.
void ScheduleStage::arbitrate | ( | ) |
Definition at line 77 of file schedule_stage.cc.
References computeUnit, dispatchList, EMPTY, ArmISA::i, ArmISA::j, numMemUnits, numSIMDs, READY, Wavefront::simdId, ComputeUnit::vrf, waveStatusList, and Wavefront::wfSlotId.
Referenced by exec().
void ScheduleStage::exec | ( | ) |
Definition at line 122 of file schedule_stage.cc.
References arbitrate(), BLOCKED, computeUnit, dispatchList, FILLED, ArmISA::j, numMemUnits, numSIMDs, ComputeUnit::readyList, scheduler, Wavefront::simdId, Wavefront::updateResources(), waveStatusList, and Wavefront::wfSlotId.
Referenced by ComputeUnit::exec().
void ScheduleStage::init | ( | ComputeUnit * | cu | ) |
Definition at line 60 of file schedule_stage.cc.
References _name, computeUnit, dispatchList, ComputeUnit::dispatchList, ArmISA::j, SimObject::name(), numMemUnits, numSIMDs, ComputeUnit::readyList, scheduler, waveStatusList, and ComputeUnit::waveStatusList.
Referenced by ComputeUnit::init().
|
inline |
Definition at line 65 of file schedule_stage.hh.
References _name.
void ScheduleStage::regStats | ( | ) |
Definition at line 149 of file schedule_stage.cc.
Referenced by ComputeUnit::regStats().
|
private |
Definition at line 92 of file schedule_stage.hh.
|
private |
Definition at line 69 of file schedule_stage.hh.
Referenced by arbitrate(), exec(), and init().
|
private |
Definition at line 90 of file schedule_stage.hh.
Referenced by arbitrate(), exec(), and init().
|
private |
Definition at line 71 of file schedule_stage.hh.
Referenced by arbitrate(), exec(), init(), and ScheduleStage().
|
private |
Definition at line 70 of file schedule_stage.hh.
Referenced by arbitrate(), exec(), init(), and ScheduleStage().
|
private |
Definition at line 75 of file schedule_stage.hh.
Referenced by exec(), init(), ScheduleStage(), and ~ScheduleStage().
|
private |
Definition at line 81 of file schedule_stage.hh.
Referenced by arbitrate(), exec(), init(), and ~ScheduleStage().