35#ifndef __MEM_RUBY_SYSTEM_CACHERECORDER_HH__
36#define __MEM_RUBY_SYSTEM_CACHERECORDER_HH__
44#include "mem/ruby/protocol/RubyRequestType.hh"
70 void print(std::ostream& out)
const;
80 uint64_t uncompressed_trace_size,
82 uint64_t block_size_bytes);
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,...
uint64_t aggregateRecords(uint8_t **data, uint64_t size)
uint64_t getNumRecords() const
void addRecord(int cntrl, Addr data_addr, Addr pc_addr, RubyRequestType type, Tick time, DataBlock &data)
uint64_t m_records_flushed
CacheRecorder & operator=(const CacheRecorder &obj)
uint64_t m_block_size_bytes
std::vector< TraceRecord * > m_records
void enqueueNextFetchRequest()
Function for fetching warming up the memory and the caches.
CacheRecorder(const CacheRecorder &obj)
uint8_t * m_uncompressed_trace
void enqueueNextFlushRequest()
Function for flushing the memory contents of the caches to the main memory.
std::vector< RubyPort * > m_ruby_port_map
uint64_t m_uncompressed_trace_size
Class for recording cache contents.
void print(std::ostream &out) const
bool compareTraceRecords(const TraceRecord *n1, const TraceRecord *n2)
std::ostream & operator<<(std::ostream &os, const BoolVec &myvector)
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
uint64_t Tick
Tick count type.