Skip to content

Class simtix::mem::Cache::Impl

ClassList > simtix > mem > Cache > Impl

Inherits the following classes: simtix::mem::CacheImpl

Public Types inherited from simtix::mem::CacheImpl

See simtix::mem::CacheImpl

Type Name
typedef MemoryInterface::OnResp OnResp
typedef MemoryInterface::Payload Payload
typedef MemoryInterface::RespStatus RespStatus

Public Functions

Type Name
Impl (const std::string & name, MemoryInterface * next_level, const Param & param)

Public Functions inherited from simtix::mem::CacheImpl

See simtix::mem::CacheImpl

Type Name
CacheImpl (const std::string & name, MemoryInterface * next_level, const Cache::Param & param)
uint64_t ToLineAddr (uint64_t addr)
uint8_t & operator[] (const uint64_t addr)
~CacheImpl ()

Protected Attributes inherited from simtix::mem::CacheImpl

See simtix::mem::CacheImpl

Type Name
sim::SizedQueue< CoreRequest > core_req_queue_
sim::SizedQueue< CoreRequest > core_resp_queue_
std::unique_ptr< DataArray > data_array_
sim::SizedQueue< DataArrayRequest > data_array_req_queue_
OnResp flush_on_resp_
uint64_t flush_tag_arr_index_
sim::SizedQueue< uint32_t > free_write_buffers_
bool has_pending_flush_
const uint32_t kBanks
const size_t kBlockSizeBytes
const size_t kSizeBytes
const uint8_t kWays
const Cache::Param::WriteHitPolicies kWriteHitPolicy
const Cache::Param::WriteMissPolicies kWriteMissPolicy
sim::SizedQueue< MemResponse > mem_resp_queue_
std::unique_ptr< MshrFile > mshr_file_
std::string name_
MemoryInterface * next_level_
sim::SizedQueue< CoreRequest > non_cacheable_mem_req_queue_
const std::vector< Cache::Param::NonCacheableEntry > non_cacheable_regions_
sim::SizedQueue< uint32_t > pending_write_req_queue_
std::shared_ptr< Stat > stat_
std::unique_ptr< TagArray > tag_array_
std::vector< WriteBufferEntry > write_buffers_

Protected Functions inherited from simtix::mem::CacheImpl

See simtix::mem::CacheImpl

Type Name
bool AcceptCoreRequest (const Payload & payload, OnResp on_esp, bool is_write, bool is_flush)
bool AcceptMemResponse (MemResponse resp)
void AccessDataArray ()
void AccessTagArray ()
bool CanServeMshrReqFirst ()
void HandleCoreResponse ()
void HandleMemRequest ()
bool IsNonCacheablePayload (const Payload & payload)
void ResetStat ()
Reset the stats.
void UpdateStat (bool is_write, int way, uint32_t core_req_wid, uint32_t line_wid)

Public Functions Documentation

function Impl

inline simtix::mem::Cache::Impl::Impl (
    const std::string & name,
    MemoryInterface * next_level,
    const Param & param
) 


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