CohereSim: A Bus-based Cache Simulator
v3.3
A tool for education in computing - learn about coherence protocols, replacement policies, and SMP vs DSM
|
The Broadcast directory protocol. More...
#include <broadcast.h>
Public Member Functions | |
Broadcast (cache_config &config) | |
Construct a new Broadcast directory protocol. More... | |
void | issueBusMsg (bus_msg_e bus_msg, addr_t addr, uint32_t cache_id) |
Issue a bus message from a cache to all other caches. More... | |
![]() | |
MemorySystem (cache_config &config) | |
Construct a new memory system. More... | |
void | issuePrRd (addr_t addr, uint32_t cache_id, size_t read_timestamp) |
Issue a PrWr message to a cache. More... | |
void | issuePrWr (addr_t addr, uint32_t cache_id, size_t write_timestamp) |
Issue a PrRd message to a cache. More... | |
void | printStats () |
Print simulation run statistics in CSV format (headerless) | |
Additional Inherited Members | |
![]() | |
size_t | access_timestamp |
The access number of the current memory access. | |
size_t | most_recent_sibling |
The most recent timestamp of a cache block across all caches. | |
bool | copies_exist |
Flag to indicate if copies of a cache block exist in other caches. | |
bool | flushed |
Flag to indicate if a cache flushed one of its lines. | |
![]() | |
Cache * | caches [MAX_N_CACHES] |
Array of this memory system's caches. | |
The Broadcast directory protocol.
|
inline |
Construct a new Broadcast directory protocol.
config | The configuration of the memory system |
Issue a bus message from a cache to all other caches.
bus_msg | The specific bus message |
addr | The address accessed |
cache_id | The cache ID of the requestor |
Implements MemorySystem.