34 #ifndef __MEM_CACHE_COMPRESSORS_MULTI_HH__ 35 #define __MEM_CACHE_COMPRESSORS_MULTI_HH__ 43 struct MultiCompressorParams;
72 typedef MultiCompressorParams
Params;
82 std::unique_ptr<BaseCacheCompressor::CompressionData>
compress(
96 std::unique_ptr<BaseCacheCompressor::CompressionData>
compData;
105 std::unique_ptr<BaseCacheCompressor::CompressionData> comp_data);
114 #endif //__MEM_CACHE_COMPRESSORS_MULTI_HH__ MultiCompressorParams Params
Convenience typedef.
Cycles is a wrapper class for representing cycle counts, i.e.
void decompress(const CompressionData *comp_data, uint64_t *data) override
Apply the decompression process to the compressed data.
const uint8_t index
Index of the compressor that provided these compression results.
Definition of a basic cache compressor.
std::vector< BaseCacheCompressor * > compressors
List of sub-compressors.
std::unique_ptr< BaseCacheCompressor::CompressionData > compData
Compression data of the best compressor.
MultiCompData(unsigned index, std::unique_ptr< BaseCacheCompressor::CompressionData > comp_data)
Default constructor.
std::unique_ptr< BaseCacheCompressor::CompressionData > compress(const uint64_t *data, Cycles &comp_lat, Cycles &decomp_lat) override
Apply the compression process to the cache line.
Stats::Vector2d rankStats
Number of times each compressor provided the nth best compression.
~MultiCompData()=default
Default destructor.
MultiCompressor(const Params *p)
Default constructor.
uint8_t getIndex() const
Get the index of the best compressor.
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,16,32,64}_t.
Base cache compressor interface.
void regStats() override
Callback to set stat parameters.
~MultiCompressor()
Default destructor.
A 2-Dimensional vecto of scalar stats.