38 #include "debug/CacheComp.hh" 40 #include "params/RepeatedQwordsCompressor.hh" 54 std::unique_ptr<BaseCacheCompressor::CompressionData>
58 std::unique_ptr<BaseCacheCompressor::CompressionData> comp_data =
65 comp_data->setSizeBits(
blkSize * 8);
66 DPRINTF(CacheComp,
"Repeated qwords compression failed\n");
80 RepeatedQwordsCompressorParams::create()
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.
Cycles is a wrapper class for representing cycle counts, i.e.
DictionaryCompressor< uint64_t >::DictionaryEntry DictionaryEntry
Definition of a repeated qwords compressor, which compresses data if it is entirely composed of repea...
std::size_t numEntries
Number of valid entries in the dictionary.
const std::size_t dictionarySize
Dictionary size.
void addToDictionary(DictionaryEntry data) override
const std::size_t blkSize
Uncompressed cache line size (in bytes).
RepeatedQwordsCompressor(const Params *p)
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.
A template version of the dictionary compressor that allows to choose the dictionary size...