gem5  v20.0.0.2
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Public Attributes | List of all members
DRAMCtrl::DRAMPacket Class Reference

A DRAM packet stores packets along with the timestamp of when the packet entered the queue, and also the decoded address. More...

Public Member Functions

void qosValue (const uint8_t qv)
 Set the packet QoS value (interface compatibility with Packet) More...
 
uint8_t qosValue () const
 Get the packet QoS value (interface compatibility with Packet) More...
 
MasterID masterId () const
 Get the packet MasterID (interface compatibility with Packet) More...
 
unsigned int getSize () const
 Get the packet size (interface compatibility with Packet) More...
 
Addr getAddr () const
 Get the packet address (interface compatibility with Packet) More...
 
bool isRead () const
 Return true if its a read packet (interface compatibility with Packet) More...
 
bool isWrite () const
 Return true if its a write packet (interface compatibility with Packet) More...
 
 DRAMPacket (PacketPtr _pkt, bool is_read, uint8_t _rank, uint8_t _bank, uint32_t _row, uint16_t bank_id, Addr _addr, unsigned int _size, Bank &bank_ref, Rank &rank_ref)
 

Public Attributes

const Tick entryTime
 When did request enter the controller. More...
 
Tick readyTime
 When will request leave the controller. More...
 
const PacketPtr pkt
 This comes from the outside world. More...
 
const MasterID _masterId
 MasterID associated with the packet. More...
 
const bool read
 
const uint8_t rank
 Will be populated by address decoder. More...
 
const uint8_t bank
 
const uint32_t row
 
const uint16_t bankId
 Bank id is calculated considering banks in all the ranks eg: 2 ranks each with 8 banks, then bankId = 0 –> rank0, bank0 and bankId = 8 –> rank1, bank0. More...
 
Addr addr
 The starting address of the DRAM packet. More...
 
unsigned int size
 The size of this dram packet in bytes It is always equal or smaller than DRAM burst size. More...
 
BurstHelperburstHelper
 A pointer to the BurstHelper if this DRAMPacket is a split packet If not a split packet (common case), this is set to NULL. More...
 
BankbankRef
 
RankrankRef
 
uint8_t _qosValue
 QoS value of the encapsulated packet read at queuing time. More...
 

Detailed Description

A DRAM packet stores packets along with the timestamp of when the packet entered the queue, and also the decoded address.

Definition at line 607 of file dram_ctrl.hh.

Constructor & Destructor Documentation

◆ DRAMPacket()

DRAMCtrl::DRAMPacket::DRAMPacket ( PacketPtr  _pkt,
bool  is_read,
uint8_t  _rank,
uint8_t  _bank,
uint32_t  _row,
uint16_t  bank_id,
Addr  _addr,
unsigned int  _size,
Bank bank_ref,
Rank rank_ref 
)
inline

Definition at line 707 of file dram_ctrl.hh.

Member Function Documentation

◆ getAddr()

Addr DRAMCtrl::DRAMPacket::getAddr ( ) const
inline

Get the packet address (interface compatibility with Packet)

Definition at line 692 of file dram_ctrl.hh.

References addr.

◆ getSize()

unsigned int DRAMCtrl::DRAMPacket::getSize ( ) const
inline

Get the packet size (interface compatibility with Packet)

Definition at line 686 of file dram_ctrl.hh.

References AbstractMemory::size().

◆ isRead()

bool DRAMCtrl::DRAMPacket::isRead ( ) const
inline

Return true if its a read packet (interface compatibility with Packet)

Definition at line 698 of file dram_ctrl.hh.

Referenced by DRAMCtrl::chooseNextFRFCFS(), and DRAMCtrl::doDRAMAccess().

◆ isWrite()

bool DRAMCtrl::DRAMPacket::isWrite ( ) const
inline

Return true if its a write packet (interface compatibility with Packet)

Definition at line 704 of file dram_ctrl.hh.

◆ masterId()

MasterID DRAMCtrl::DRAMPacket::masterId ( ) const
inline

Get the packet MasterID (interface compatibility with Packet)

Definition at line 680 of file dram_ctrl.hh.

Referenced by DRAMCtrl::doDRAMAccess().

◆ qosValue() [1/2]

void DRAMCtrl::DRAMPacket::qosValue ( const uint8_t  qv)
inline

Set the packet QoS value (interface compatibility with Packet)

Definition at line 668 of file dram_ctrl.hh.

Referenced by DRAMCtrl::addToReadQueue(), and DRAMCtrl::addToWriteQueue().

◆ qosValue() [2/2]

uint8_t DRAMCtrl::DRAMPacket::qosValue ( ) const
inline

Get the packet QoS value (interface compatibility with Packet)

Definition at line 674 of file dram_ctrl.hh.

Member Data Documentation

◆ _masterId

const MasterID DRAMCtrl::DRAMPacket::_masterId

MasterID associated with the packet.

Definition at line 621 of file dram_ctrl.hh.

◆ _qosValue

uint8_t DRAMCtrl::DRAMPacket::_qosValue

QoS value of the encapsulated packet read at queuing time.

Definition at line 662 of file dram_ctrl.hh.

◆ addr

Addr DRAMCtrl::DRAMPacket::addr

The starting address of the DRAM packet.

This address could be unaligned to burst size boundaries. The reason is to keep the address offset so we can accurately check incoming read packets with packets in the write queue.

Definition at line 643 of file dram_ctrl.hh.

Referenced by DRAMCtrl::addToReadQueue(), DRAMCtrl::addToWriteQueue(), and DRAMCtrl::doDRAMAccess().

◆ bank

const uint8_t DRAMCtrl::DRAMPacket::bank

Definition at line 627 of file dram_ctrl.hh.

Referenced by DRAMCtrl::chooseNextFRFCFS(), and DRAMCtrl::doDRAMAccess().

◆ bankId

const uint16_t DRAMCtrl::DRAMPacket::bankId

Bank id is calculated considering banks in all the ranks eg: 2 ranks each with 8 banks, then bankId = 0 –> rank0, bank0 and bankId = 8 –> rank1, bank0.

Definition at line 635 of file dram_ctrl.hh.

Referenced by DRAMCtrl::doDRAMAccess().

◆ bankRef

Bank& DRAMCtrl::DRAMPacket::bankRef

Definition at line 656 of file dram_ctrl.hh.

Referenced by DRAMCtrl::chooseNextFRFCFS(), and DRAMCtrl::doDRAMAccess().

◆ burstHelper

BurstHelper* DRAMCtrl::DRAMPacket::burstHelper

A pointer to the BurstHelper if this DRAMPacket is a split packet If not a split packet (common case), this is set to NULL.

Definition at line 655 of file dram_ctrl.hh.

Referenced by DRAMCtrl::addToReadQueue(), and DRAMCtrl::processRespondEvent().

◆ entryTime

const Tick DRAMCtrl::DRAMPacket::entryTime

When did request enter the controller.

Definition at line 612 of file dram_ctrl.hh.

Referenced by DRAMCtrl::doDRAMAccess().

◆ pkt

const PacketPtr DRAMCtrl::DRAMPacket::pkt

This comes from the outside world.

Definition at line 618 of file dram_ctrl.hh.

Referenced by DRAMCtrl::processRespondEvent().

◆ rank

const uint8_t DRAMCtrl::DRAMPacket::rank

Will be populated by address decoder.

Definition at line 626 of file dram_ctrl.hh.

Referenced by DRAMCtrl::chooseNext(), DRAMCtrl::chooseNextFRFCFS(), DRAMCtrl::doDRAMAccess(), and DRAMCtrl::processRespondEvent().

◆ rankRef

Rank& DRAMCtrl::DRAMPacket::rankRef

◆ read

const bool DRAMCtrl::DRAMPacket::read

Definition at line 623 of file dram_ctrl.hh.

◆ readyTime

Tick DRAMCtrl::DRAMPacket::readyTime

When will request leave the controller.

Definition at line 615 of file dram_ctrl.hh.

Referenced by DRAMCtrl::doDRAMAccess().

◆ row

const uint32_t DRAMCtrl::DRAMPacket::row

Definition at line 628 of file dram_ctrl.hh.

Referenced by DRAMCtrl::chooseNextFRFCFS(), and DRAMCtrl::doDRAMAccess().

◆ size

unsigned int DRAMCtrl::DRAMPacket::size

The size of this dram packet in bytes It is always equal or smaller than DRAM burst size.

Definition at line 649 of file dram_ctrl.hh.

Referenced by DRAMCtrl::doDRAMAccess().


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

Generated on Mon Jun 8 2020 15:45:21 for gem5 by doxygen 1.8.13