34#ifndef __MEM_CACHE_COMPRESSORS_PERFECT_COMPRESSOR_HH__
35#define __MEM_CACHE_COMPRESSORS_PERFECT_COMPRESSOR_HH__
47struct PerfectCompressorParams;
66 std::unique_ptr<CompressionData>
compress(
68 Cycles& decomp_lat)
override;
73 typedef PerfectCompressorParams
Params;
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,...
Cycles is a wrapper class for representing cycle counts, i.e.
Base cache compressor interface.
std::vector< Chunk > chunks
The original data is simply copied over to this vector.
CompData(const std::vector< Chunk > &chunks)
Default constructor that creates a copy of the original data.
const Cycles decompressionLatency
Number of cycles needed to perform decompression.
void decompress(const CompressionData *comp_data, uint64_t *data) override
Apply the decompression process to the compressed data.
PerfectCompressorParams Params
const Cycles compressionLatency
Number of cycles needed to perform compression.
std::unique_ptr< CompressionData > compress(const std::vector< Chunk > &chunks, Cycles &comp_lat, Cycles &decomp_lat) override
Apply the compression process to the cache line.
const int compressedSize
Size to which this compressor always compresses.
Definition of a basic cache compressor.
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.