gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups 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

 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 bool isRead
 
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
 

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 621 of file dram_ctrl.hh.

Constructor & Destructor Documentation

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 670 of file dram_ctrl.hh.

Member Data Documentation

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 654 of file dram_ctrl.hh.

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

const uint8_t DRAMCtrl::DRAMPacket::bank

Definition at line 638 of file dram_ctrl.hh.

Referenced by DRAMCtrl::doDRAMAccess().

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 646 of file dram_ctrl.hh.

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

Bank& DRAMCtrl::DRAMPacket::bankRef

Definition at line 667 of file dram_ctrl.hh.

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

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 666 of file dram_ctrl.hh.

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

const Tick DRAMCtrl::DRAMPacket::entryTime

When did request enter the controller.

Definition at line 626 of file dram_ctrl.hh.

Referenced by DRAMCtrl::doDRAMAccess().

const bool DRAMCtrl::DRAMPacket::isRead

Definition at line 634 of file dram_ctrl.hh.

Referenced by DRAMCtrl::doDRAMAccess().

const PacketPtr DRAMCtrl::DRAMPacket::pkt

This comes from the outside world.

Definition at line 632 of file dram_ctrl.hh.

Referenced by DRAMCtrl::processRespondEvent().

const uint8_t DRAMCtrl::DRAMPacket::rank

Will be populated by address decoder.

Definition at line 637 of file dram_ctrl.hh.

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

Rank& DRAMCtrl::DRAMPacket::rankRef
Tick DRAMCtrl::DRAMPacket::readyTime

When will request leave the controller.

Definition at line 629 of file dram_ctrl.hh.

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

const uint32_t DRAMCtrl::DRAMPacket::row

Definition at line 639 of file dram_ctrl.hh.

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

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 660 of file dram_ctrl.hh.

Referenced by DRAMCtrl::processNextReqEvent().


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

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