gem5 v24.0.0.0
|
#include <GPUCoalescer.hh>
Public Member Functions | |
UncoalescedTable (GPUCoalescer *gc) | |
~UncoalescedTable () | |
void | insertPacket (PacketPtr pkt) |
void | insertReqType (PacketPtr pkt, RubyRequestType type) |
bool | packetAvailable () |
void | printRequestTable (std::stringstream &ss) |
void | initPacketsRemaining (InstSeqNum seqNum, int count) |
int | getPacketsRemaining (InstSeqNum seqNum) |
void | setPacketsRemaining (InstSeqNum seqNum, int count) |
PerInstPackets * | getInstPackets (int offset) |
void | updateResources () |
bool | areRequestsDone (const InstSeqNum instSeqNum) |
void | checkDeadlock (Tick threshold) |
Private Attributes | |
GPUCoalescer * | coalescer |
std::map< InstSeqNum, PerInstPackets > | instMap |
std::map< InstSeqNum, int > | instPktsRemaining |
std::map< InstSeqNum, RubyRequestType > | reqTypeMap |
Definition at line 67 of file GPUCoalescer.hh.
gem5::ruby::UncoalescedTable::UncoalescedTable | ( | GPUCoalescer * | gc | ) |
Definition at line 61 of file GPUCoalescer.cc.
|
inline |
Definition at line 71 of file GPUCoalescer.hh.
bool gem5::ruby::UncoalescedTable::areRequestsDone | ( | const InstSeqNum | instSeqNum | ) |
Definition at line 161 of file GPUCoalescer.cc.
References DPRINTF, and instMap.
Referenced by gem5::ruby::GPUCoalescer::writeCompleteCallback().
void gem5::ruby::UncoalescedTable::checkDeadlock | ( | Tick | threshold | ) |
Definition at line 185 of file GPUCoalescer.cc.
References coalescer, gem5::curTick(), gem5::ruby::RubyPort::getId(), instMap, panic, printRequestTable(), and gem5::ArmISA::ss.
Referenced by gem5::ruby::GPUCoalescer::wakeup().
PerInstPackets * gem5::ruby::UncoalescedTable::getInstPackets | ( | int | offset | ) |
Definition at line 111 of file GPUCoalescer.cc.
References instMap, and gem5::ArmISA::offset.
Referenced by gem5::ruby::GPUCoalescer::completeIssue().
int gem5::ruby::UncoalescedTable::getPacketsRemaining | ( | InstSeqNum | seqNum | ) |
Definition at line 99 of file GPUCoalescer.cc.
References instPktsRemaining.
Referenced by gem5::ruby::GPUCoalescer::completeIssue().
void gem5::ruby::UncoalescedTable::initPacketsRemaining | ( | InstSeqNum | seqNum, |
int | count ) |
Definition at line 91 of file GPUCoalescer.cc.
References gem5::X86ISA::count, and instPktsRemaining.
Referenced by gem5::ruby::GPUCoalescer::makeRequest().
void gem5::ruby::UncoalescedTable::insertPacket | ( | PacketPtr | pkt | ) |
Definition at line 67 of file GPUCoalescer.cc.
References DPRINTF, gem5::Packet::getAddr(), instMap, and gem5::Packet::req.
Referenced by gem5::ruby::GPUCoalescer::makeRequest().
void gem5::ruby::UncoalescedTable::insertReqType | ( | PacketPtr | pkt, |
RubyRequestType | type ) |
Definition at line 77 of file GPUCoalescer.cc.
References gem5::Packet::req, reqTypeMap, and gem5::X86ISA::type.
Referenced by gem5::ruby::GPUCoalescer::makeRequest().
bool gem5::ruby::UncoalescedTable::packetAvailable | ( | ) |
Definition at line 85 of file GPUCoalescer.cc.
References instMap.
Referenced by gem5::ruby::GPUCoalescer::completeHitCallback().
void gem5::ruby::UncoalescedTable::printRequestTable | ( | std::stringstream & | ss | ) |
Definition at line 174 of file GPUCoalescer.cc.
References instMap, gem5::ruby::printAddress(), and gem5::ArmISA::ss.
Referenced by checkDeadlock(), and gem5::ruby::GPUCoalescer::printRequestTable().
void gem5::ruby::UncoalescedTable::setPacketsRemaining | ( | InstSeqNum | seqNum, |
int | count ) |
Definition at line 105 of file GPUCoalescer.cc.
References gem5::X86ISA::count, and instPktsRemaining.
Referenced by gem5::ruby::GPUCoalescer::completeIssue().
void gem5::ruby::UncoalescedTable::updateResources | ( | ) |
Definition at line 124 of file GPUCoalescer.cc.
References coalescer, DPRINTF, gem5::ruby::RubySystem::getCooldownEnabled(), gem5::ruby::GPUCoalescer::getGMTokenPort(), gem5::ruby::RubySystem::getWarmupEnabled(), instMap, instPktsRemaining, gem5::Named::name(), reqTypeMap, and gem5::TokenResponsePort::sendTokens().
Referenced by gem5::ruby::GPUCoalescer::completeIssue().
|
private |
Definition at line 96 of file GPUCoalescer.hh.
Referenced by checkDeadlock(), and updateResources().
|
private |
Definition at line 102 of file GPUCoalescer.hh.
Referenced by areRequestsDone(), checkDeadlock(), getInstPackets(), insertPacket(), packetAvailable(), printRequestTable(), and updateResources().
|
private |
Definition at line 104 of file GPUCoalescer.hh.
Referenced by getPacketsRemaining(), initPacketsRemaining(), setPacketsRemaining(), and updateResources().
|
private |
Definition at line 106 of file GPUCoalescer.hh.
Referenced by insertReqType(), and updateResources().