gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Attributes | Private Attributes | List of all members
FetchUnit Class Reference

#include <fetch_unit.hh>

Public Member Functions

 FetchUnit (const ComputeUnitParams *params)
 
 ~FetchUnit ()
 
void init (ComputeUnit *cu)
 
void exec ()
 
void bindWaveList (std::vector< Wavefront * > *list)
 
void initiateFetch (Wavefront *wavefront)
 
void fetch (PacketPtr pkt, Wavefront *wavefront)
 
void processFetchReturn (PacketPtr pkt)
 

Static Public Attributes

static uint32_t globalFetchUnitID
 

Private Attributes

bool timingSim
 
ComputeUnitcomputeUnit
 
TheGpuISA::Decoder decoder
 
Scheduler fetchScheduler
 
std::vector< Wavefront * > fetchQueue
 
std::vector< std::pair
< Wavefront *, bool > > 
fetchStatusQueue
 
std::vector< Wavefront * > * waveList
 

Detailed Description

Definition at line 52 of file fetch_unit.hh.

Constructor & Destructor Documentation

FetchUnit::FetchUnit ( const ComputeUnitParams *  params)

Definition at line 50 of file fetch_unit.cc.

FetchUnit::~FetchUnit ( )

Definition at line 58 of file fetch_unit.cc.

References fetchQueue, and fetchStatusQueue.

Member Function Documentation

void FetchUnit::bindWaveList ( std::vector< Wavefront * > *  list)

Definition at line 312 of file fetch_unit.cc.

References waveList.

void FetchUnit::exec ( )
void FetchUnit::fetch ( PacketPtr  pkt,
Wavefront wavefront 
)
void FetchUnit::init ( ComputeUnit cu)
void FetchUnit::initiateFetch ( Wavefront wavefront)
void FetchUnit::processFetchReturn ( PacketPtr  pkt)

this instruction occupies 2 consecutive entries in the instruction array, the second of which contains a nullptr. so if this inst is 8 bytes we advance two entries instead of 1

Definition at line 253 of file fetch_unit.cc.

References computeUnit, ComputeUnit::cu_id, decoder, GPUStaticInst::disassemble(), DPRINTF, Request::getPaddr(), Packet::getPtr(), Request::getSize(), ArmISA::i, GPUStaticInst::instSize(), Packet::req, safe_cast(), Packet::senderState, and ComputeUnit::SQCPort::SenderState::wavefront.

Referenced by fetch().

Member Data Documentation

ComputeUnit* FetchUnit::computeUnit
private

Definition at line 67 of file fetch_unit.hh.

Referenced by exec(), fetch(), init(), initiateFetch(), and processFetchReturn().

TheGpuISA::Decoder FetchUnit::decoder
private

Definition at line 68 of file fetch_unit.hh.

Referenced by processFetchReturn().

std::vector<Wavefront*> FetchUnit::fetchQueue
private

Definition at line 78 of file fetch_unit.hh.

Referenced by exec(), init(), and ~FetchUnit().

Scheduler FetchUnit::fetchScheduler
private

Definition at line 74 of file fetch_unit.hh.

Referenced by exec(), and init().

std::vector<std::pair<Wavefront*, bool> > FetchUnit::fetchStatusQueue
private

Definition at line 83 of file fetch_unit.hh.

Referenced by exec(), init(), and ~FetchUnit().

uint32_t FetchUnit::globalFetchUnitID
static

Definition at line 63 of file fetch_unit.hh.

bool FetchUnit::timingSim
private

Definition at line 66 of file fetch_unit.hh.

Referenced by fetch(), init(), and initiateFetch().

std::vector<Wavefront*>* FetchUnit::waveList
private

Definition at line 86 of file fetch_unit.hh.

Referenced by bindWaveList(), and init().


The documentation for this class was generated from the following files:

Generated on Fri Jun 9 2017 13:04:10 for gem5 by doxygen 1.8.6