37#include "debug/CacheComp.hh"
39#include "params/ZeroCompressor.hh"
59std::unique_ptr<Base::CompressionData>
63 std::unique_ptr<Base::CompressionData> comp_data =
68 comp_data->setSizeBits(
blkSize * 8);
69 DPRINTF(CacheComp,
"Zero compression failed\n");
Cycles is a wrapper class for representing cycle counts, i.e.
const std::size_t dictionarySize
Dictionary size.
std::size_t numEntries
Number of valid entries in the dictionary.
const std::size_t blkSize
Uncompressed cache line size (in bytes).
A template version of the dictionary compressor that allows to choose the dictionary size.
std::vector< DictionaryEntry > dictionary
std::unique_ptr< Base::CompressionData > compress(const std::vector< Chunk > &chunks)
Apply compression.
std::unique_ptr< Base::CompressionData > compress(const std::vector< Base::Chunk > &chunks, Cycles &comp_lat, Cycles &decomp_lat) override
Apply the compression process to the cache line.
ZeroCompressorParams Params
void addToDictionary(DictionaryEntry data) override
DictionaryCompressor< uint64_t >::DictionaryEntry DictionaryEntry
Implementation of a dictionary based cache compressor.
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
Definition of a zero compressor, which compressed data if it is entirely composed of zero bits.