gem5
[DEVELOP-FOR-23.0]
|
#include <GPUCoalescer.hh>
Public Member Functions | |
UncoalescedTable (GPUCoalescer *gc) | |
~UncoalescedTable () | |
void | insertPacket (PacketPtr pkt) |
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 |
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 141 of file GPUCoalescer.cc.
References DPRINTF, and instMap.
Referenced by gem5::ruby::GPUCoalescer::writeCompleteCallback().
void gem5::ruby::UncoalescedTable::checkDeadlock | ( | Tick | threshold | ) |
Definition at line 165 of file GPUCoalescer.cc.
References coalescer, gem5::curTick(), gem5::ruby::RubyPort::getId(), instMap, panic, printRequestTable(), and ss.
Referenced by gem5::ruby::GPUCoalescer::wakeup().
PerInstPackets * gem5::ruby::UncoalescedTable::getInstPackets | ( | int | offset | ) |
Definition at line 103 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 91 of file GPUCoalescer.cc.
References instPktsRemaining.
Referenced by gem5::ruby::GPUCoalescer::completeIssue().
void gem5::ruby::UncoalescedTable::initPacketsRemaining | ( | InstSeqNum | seqNum, |
int | count | ||
) |
Definition at line 83 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().
bool gem5::ruby::UncoalescedTable::packetAvailable | ( | ) |
Definition at line 77 of file GPUCoalescer.cc.
References instMap.
Referenced by gem5::ruby::GPUCoalescer::completeHitCallback().
void gem5::ruby::UncoalescedTable::printRequestTable | ( | std::stringstream & | ss | ) |
Definition at line 154 of file GPUCoalescer.cc.
References instMap, gem5::ruby::printAddress(), and ss.
Referenced by checkDeadlock(), and gem5::ruby::GPUCoalescer::printRequestTable().
void gem5::ruby::UncoalescedTable::setPacketsRemaining | ( | InstSeqNum | seqNum, |
int | count | ||
) |
Definition at line 97 of file GPUCoalescer.cc.
References gem5::X86ISA::count, and instPktsRemaining.
Referenced by gem5::ruby::GPUCoalescer::completeIssue().
void gem5::ruby::UncoalescedTable::updateResources | ( | ) |
Definition at line 116 of file GPUCoalescer.cc.
References coalescer, DPRINTF, gem5::ruby::GPUCoalescer::getGMTokenPort(), instMap, instPktsRemaining, gem5::Named::name(), and gem5::TokenResponsePort::sendTokens().
Referenced by gem5::ruby::GPUCoalescer::completeIssue().
|
private |
Definition at line 95 of file GPUCoalescer.hh.
Referenced by checkDeadlock(), and updateResources().
|
private |
Definition at line 101 of file GPUCoalescer.hh.
Referenced by areRequestsDone(), checkDeadlock(), getInstPackets(), insertPacket(), packetAvailable(), printRequestTable(), and updateResources().
|
private |
Definition at line 103 of file GPUCoalescer.hh.
Referenced by getPacketsRemaining(), initPacketsRemaining(), setPacketsRemaining(), and updateResources().