gem5  v22.1.0.0
Classes | Namespaces | Functions
dictionary_compressor.hh File Reference

Definition of a dictionary based cache compressor. More...

#include <array>
#include <cstdint>
#include <map>
#include <memory>
#include <string>
#include <type_traits>
#include <vector>
#include "base/bitfield.hh"
#include "base/statistics.hh"
#include "base/types.hh"
#include "mem/cache/compressors/base.hh"

Go to the source code of this file.

Classes

class  gem5::compression::BaseDictionaryCompressor
 
struct  gem5::compression::BaseDictionaryCompressor::DictionaryStats
 
class  gem5::compression::DictionaryCompressor< T >
 A template version of the dictionary compressor that allows to choose the dictionary size. More...
 
struct  gem5::compression::DictionaryCompressor< T >::Factory< Head, Tail >
 Create a factory to determine if input matches a pattern. More...
 
struct  gem5::compression::DictionaryCompressor< T >::Factory< Head >
 Specialization to end the recursion. More...
 
class  gem5::compression::DictionaryCompressor< T >::Pattern
 The compressed data is composed of multiple pattern entries. More...
 
class  gem5::compression::DictionaryCompressor< T >::CompData
 
class  gem5::compression::DictionaryCompressor< T >::UncompressedPattern
 A pattern containing the original uncompressed data. More...
 
class  gem5::compression::DictionaryCompressor< T >::MaskedPattern< mask >
 A pattern that compares masked values against dictionary entries. More...
 
class  gem5::compression::DictionaryCompressor< T >::MaskedValuePattern< value, mask >
 A pattern that compares masked values to a masked portion of a fixed value. More...
 
class  gem5::compression::DictionaryCompressor< T >::LocatedMaskedPattern< mask, location >
 A pattern that narrows the MaskedPattern by allowing a only single possible dictionary entry to be matched against. More...
 
class  gem5::compression::DictionaryCompressor< T >::RepeatedValuePattern< RepT >
 A pattern that checks if dictionary entry sized values are solely composed of multiple copies of a single value. More...
 
class  gem5::compression::DictionaryCompressor< T >::DeltaPattern< DeltaSizeBits >
 A pattern that checks whether the difference of the value and the dictionary entries' is below a certain threshold. More...
 
class  gem5::compression::DictionaryCompressor< T >::SignExtendedPattern< N >
 A pattern that checks whether the value is an N bits sign-extended value, that is, all the MSB starting from the Nth are equal to the (N-1)th bit. More...
 

Namespaces

 gem5
 Reference material can be found at the JEDEC website: UFS standard http://www.jedec.org/standards-documents/results/jesd220 UFS HCI specification http://www.jedec.org/standards-documents/results/jesd223.
 
 gem5::compression
 

Functions

 gem5::GEM5_DEPRECATED_NAMESPACE (Compressor, compression)
 

Detailed Description

Definition of a dictionary based cache compressor.

Each entry is compared against a dictionary to search for matches.

The dictionary is composed of 32-bit entries, and the comparison is done byte per byte.

The patterns are implemented as individual classes that have a checking function isPattern(), to determine if the data fits the pattern, and a decompress() function, which decompresses the contents of a pattern. Every new pattern must inherit from the Pattern class and be added to the patternFactory.

Definition in file dictionary_compressor.hh.


Generated on Wed Dec 21 2022 10:22:57 for gem5 by doxygen 1.9.1