Skip to content

Class simtix::mem::MshrFile

ClassList > simtix > mem > MshrFile

Classes

Type Name
struct MSHR

Public Functions

Type Name
bool AcceptCoreRequest (CacheImpl::CoreRequest && req)
bool CanAcceptCoreRequest (const CacheImpl::CoreRequest & req)
bool CanAcceptCoreRequestEarly (const CacheImpl::CoreRequest & req, const uint32_t data_array_req_queue_size)
std::optional< MSHR * > CheckIfMshrHit (const CacheImpl::CoreRequest & req)
const CacheImpl::CoreRequest & GetMshrCoreReqQueueFront (uint32_t mshr_id)
uint8_t * GetMshrDataBuffer (uint32_t mshr_id)
Cache::Payload GetMshrPayload (uint32_t mshr_id)
std::optional< CacheImpl::CoreRequest > GetPendingReplayRequest ()
bool HasFreeMshr ()
bool HasFreeMshrEarly ()
bool HasPendingMshr ()
bool HasPendingReplayRequest ()
MshrFile (const Cache::Param & param)
bool NotifyFill (uint32_t mshr_id)
sim::SizedQueue< uint32_t > & pending_mshr_req_queue ()
~MshrFile ()

Protected Attributes

Type Name
sim::SizedQueue< uint32_t > free_mshrs_
const size_t kBlockSizeBytes
uint32_t kDataArrayReqQueueDepth
std::vector< MSHR > mshrs_
sim::SizedQueue< uint32_t > pending_mshr_replay_queue_
sim::SizedQueue< uint32_t > pending_mshr_req_queue_

Protected Functions

Type Name
uint64_t ToLineAddr (uint64_t addr)

Public Functions Documentation

function AcceptCoreRequest

bool simtix::mem::MshrFile::AcceptCoreRequest (
    CacheImpl::CoreRequest && req
) 

function CanAcceptCoreRequest

bool simtix::mem::MshrFile::CanAcceptCoreRequest (
    const CacheImpl::CoreRequest & req
) 

function CanAcceptCoreRequestEarly

bool simtix::mem::MshrFile::CanAcceptCoreRequestEarly (
    const CacheImpl::CoreRequest & req,
    const uint32_t data_array_req_queue_size
) 

function CheckIfMshrHit

inline std::optional< MSHR * > simtix::mem::MshrFile::CheckIfMshrHit (
    const CacheImpl::CoreRequest & req
) 

function GetMshrCoreReqQueueFront

const CacheImpl::CoreRequest & simtix::mem::MshrFile::GetMshrCoreReqQueueFront (
    uint32_t mshr_id
) 

function GetMshrDataBuffer

uint8_t * simtix::mem::MshrFile::GetMshrDataBuffer (
    uint32_t mshr_id
) 

function GetMshrPayload

Cache::Payload simtix::mem::MshrFile::GetMshrPayload (
    uint32_t mshr_id
) 

function GetPendingReplayRequest

std::optional< CacheImpl::CoreRequest > simtix::mem::MshrFile::GetPendingReplayRequest () 

function HasFreeMshr

inline bool simtix::mem::MshrFile::HasFreeMshr () 

function HasFreeMshrEarly

inline bool simtix::mem::MshrFile::HasFreeMshrEarly () 

function HasPendingMshr

inline bool simtix::mem::MshrFile::HasPendingMshr () 

function HasPendingReplayRequest

bool simtix::mem::MshrFile::HasPendingReplayRequest () 

function MshrFile

explicit simtix::mem::MshrFile::MshrFile (
    const Cache::Param & param
) 

function NotifyFill

bool simtix::mem::MshrFile::NotifyFill (
    uint32_t mshr_id
) 

function pending_mshr_req_queue

inline sim::SizedQueue < uint32_t > & simtix::mem::MshrFile::pending_mshr_req_queue () 

function ~MshrFile

simtix::mem::MshrFile::~MshrFile () 

Protected Attributes Documentation

variable free_mshrs_

sim::SizedQueue<uint32_t> simtix::mem::MshrFile::free_mshrs_;

variable kBlockSizeBytes

const size_t simtix::mem::MshrFile::kBlockSizeBytes;

variable kDataArrayReqQueueDepth

uint32_t simtix::mem::MshrFile::kDataArrayReqQueueDepth;

variable mshrs_

std::vector<MSHR> simtix::mem::MshrFile::mshrs_;

variable pending_mshr_replay_queue_

sim::SizedQueue<uint32_t> simtix::mem::MshrFile::pending_mshr_replay_queue_;

variable pending_mshr_req_queue_

sim::SizedQueue<uint32_t> simtix::mem::MshrFile::pending_mshr_req_queue_;

Protected Functions Documentation

function ToLineAddr

inline uint64_t simtix::mem::MshrFile::ToLineAddr (
    uint64_t addr
) 


The documentation for this class was generated from the following file projects/simtix/src/simtix/mem/cache/mshr_file.h