36 #include "debug/CacheComp.hh" 38 #include "params/ZeroCompressor.hh" 52 std::unique_ptr<BaseCacheCompressor::CompressionData>
56 std::unique_ptr<BaseCacheCompressor::CompressionData> comp_data =
61 comp_data->setSizeBits(
blkSize * 8);
62 DPRINTF(CacheComp,
"Zero compression failed\n");
76 ZeroCompressorParams::create()
ZeroCompressor(const Params *p)
Cycles is a wrapper class for representing cycle counts, i.e.
Definition of a zero compressor, which compressed data if it is entirely composed of zero bits...
std::size_t numEntries
Number of valid entries in the dictionary.
const std::size_t dictionarySize
Dictionary size.
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.
const std::size_t blkSize
Uncompressed cache line size (in bytes).
DictionaryCompressor< uint64_t >::DictionaryEntry DictionaryEntry
std::vector< DictionaryEntry > dictionary
The dictionary.
BaseCacheCompressorParams Params
Convenience typedef.
std::unique_ptr< BaseCacheCompressor::CompressionData > compress(const uint64_t *data)
Apply compression.
Implementation of a dictionary based cache compressor.
void addToDictionary(DictionaryEntry data) override
A template version of the dictionary compressor that allows to choose the dictionary size...