|
static void | setDecompressionLatency (CacheBlk *blk, const Cycles lat) |
| Set the decompression latency of compressed block. More...
|
|
static void | setSizeBits (CacheBlk *blk, const std::size_t size_bits) |
| Set the size of the compressed block, in bits. More...
|
|
static void | serializeAll (CheckpointOut &cp) |
| Serialize all SimObjects in the system. More...
|
|
static SimObject * | find (const char *name) |
| Find the SimObject with the given name and return a pointer to it. More...
|
|
static const std::string & | currentSection () |
| Gets the fully-qualified name of the active section. More...
|
|
static void | serializeAll (const std::string &cpt_dir) |
| Serializes all the SimObjects. More...
|
|
static void | unserializeGlobals (CheckpointIn &cp) |
|
enum | PatternNumber |
| The patterns proposed in the paper. More...
|
|
using | DictionaryEntry = typename DictionaryCompressor< uint64_t >::DictionaryEntry |
|
using | PatternFactory = typename DictionaryCompressor< uint64_t >::template Factory< PatternM, PatternX > |
| Convenience factory declaration. More...
|
|
typedef std::array< uint8_t, sizeof(uint64_t)> | DictionaryEntry |
| Convenience typedef for a dictionary entry. More...
|
|
typedef uint64_t | Chunk |
| A chunk is a basic lexical unit. More...
|
|
uint64_t | getNumPatterns () const override |
| Trick function to get the number of patterns. More...
|
|
std::unique_ptr< typename DictionaryCompressor< uint64_t >::Pattern > | getPattern (const DictionaryEntry &bytes, const DictionaryEntry &dict_bytes, const int match_location) const override |
|
std::string | getName (int number) const override |
| Get meta-name assigned to the given pattern. More...
|
|
void | resetDictionary () override |
| Clear all dictionary entries. More...
|
|
void | addToDictionary (DictionaryEntry data) override |
|
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. More...
|
|
virtual std::unique_ptr< Pattern > | getPattern (const DictionaryEntry &bytes, const DictionaryEntry &dict_bytes, const int match_location) const=0 |
| Since the factory cannot be instantiated here, classes that inherit from this base class have to implement the call to their factory's getPattern. More...
|
|
std::unique_ptr< Pattern > | compressValue (const uint64_t data) |
| Compress data. More...
|
|
uint64_t | decompressValue (const Pattern *pattern) |
| Decompress a pattern into a value that fits in a dictionary entry. More...
|
|
virtual void | addToDictionary (const DictionaryEntry data)=0 |
| Add an entry to the dictionary. More...
|
|
virtual std::unique_ptr< DictionaryCompressor::CompData > | instantiateDictionaryCompData () const |
| Instantiate a compression data of the sub-class compressor. More...
|
|
std::unique_ptr< Base::CompressionData > | compress (const std::vector< Chunk > &chunks) |
| Apply compression. More...
|
|
std::unique_ptr< Base::CompressionData > | compress (const std::vector< Chunk > &chunks, Cycles &comp_lat, Cycles &decomp_lat) override |
| Apply the compression process to the cache line. More...
|
|
void | decompress (const CompressionData *comp_data, uint64_t *data) override |
| Apply the decompression process to the compressed data. More...
|
|
virtual uint64_t | getNumPatterns () const =0 |
| Trick function to get the number of patterns. More...
|
|
std::vector< Chunk > | toChunks (const uint64_t *data) const |
| This function splits the raw data into chunks, so that it can be parsed by the compressor. More...
|
|
void | fromChunks (const std::vector< Chunk > &chunks, uint64_t *data) const |
| This function re-joins the chunks to recreate the original data. More...
|
|
| Drainable () |
|
virtual | ~Drainable () |
|
virtual void | drainResume () |
| Resume execution after a successful drain. More...
|
|
void | signalDrainDone () const |
| Signal that an object is drained. More...
|
|
static DictionaryEntry | toDictionaryEntry (uint64_t value) |
| Turn a value into a dictionary entry. More...
|
|
static uint64_t | fromDictionaryEntry (const DictionaryEntry &entry) |
| Turn a dictionary entry into a value. More...
|
|
std::vector< DictionaryEntry > | dictionary |
| The dictionary. More...
|
|
const std::size_t | dictionarySize |
| Dictionary size. More...
|
|
std::size_t | numEntries |
| Number of valid entries in the dictionary. More...
|
|
Compressor::BaseDictionaryCompressor::DictionaryStats | dictionaryStats |
|
const std::size_t | blkSize |
| Uncompressed cache line size (in bytes). More...
|
|
const unsigned | chunkSizeBits |
| Chunk size, in number of bits. More...
|
|
const std::size_t | sizeThreshold |
| Size in bytes at which a compression is classified as bad and therefore the compressed block is restored to its uncompressed format. More...
|
|
const Cycles | compChunksPerCycle |
| Degree of parallelization of the compression process. More...
|
|
const Cycles | compExtraLatency |
| Extra latency added to compression due to packaging, shifting or other operations. More...
|
|
const Cycles | decompChunksPerCycle |
| Degree of parallelization of the decompression process. More...
|
|
const Cycles | decompExtraLatency |
| Extra latency added to decompression due to packaging, shifting or other operations. More...
|
|
BaseCache * | cache |
| Pointer to the parent cache. More...
|
|
Compressor::Base::BaseStats | stats |
|
const SimObjectParams & | _params |
| Cached copy of the object parameters. More...
|
|
EventQueue * | eventq |
| A pointer to this object's event queue. More...
|
|
static constexpr int | DEFAULT_MAX_NUM_BASES |
|