39 #ifndef __MEM_CACHE_COMPRESSORS_FPCD_HH__
40 #define __MEM_CACHE_COMPRESSORS_FPCD_HH__
123 static std::map<PatternNumber, std::string> pattern_names = {
139 std::unique_ptr<Pattern>
141 const int match_location)
const override
143 return PatternFactory::getPattern(bytes, dict_bytes, match_location);
159 match_location, bytes, true)
168 : MaskedValuePattern<0xFFFFFFFF, 0xFFFFFFFF>(
FFFF, 0x1,
175 :
public LocatedMaskedPattern<0xFFFFFFFF, previousIndex>
179 const int match_location)
187 :
public LocatedMaskedPattern<0xFFFFFFFF, penultimateIndex>
191 const int match_location)
203 match_location, bytes, true)
213 match_location, bytes, true)
223 match_location, bytes, true)
229 :
public LocatedMaskedPattern<0xFFFFFF00, previousIndex>
233 const int match_location)
241 :
public LocatedMaskedPattern<0xFFFFFF00, penultimateIndex>
245 const int match_location)
257 match_location, bytes, true)
267 match_location, bytes, true)
276 : MaskedValuePattern<0xFFFFFFFF, 0xFFFF0000>(
FFXX, 0xB,
287 match_location, bytes, true)
293 :
public LocatedMaskedPattern<0xFFFF0000, previousIndex>
297 const int match_location)
305 :
public LocatedMaskedPattern<0xFFFF0000, penultimateIndex>
309 const int match_location)
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,...
BaseCacheCompressorParams Params
A template version of the dictionary compressor that allows to choose the dictionary size.
PatternFFFF(const DictionaryEntry bytes, const int match_location)
PatternFFXX(const DictionaryEntry bytes, const int match_location)
PatternMMMMPenultimate(const DictionaryEntry bytes, const int match_location)
PatternMMMMPrevious(const DictionaryEntry bytes, const int match_location)
PatternMMMXPenultimate(const DictionaryEntry bytes, const int match_location)
PatternMMMXPrevious(const DictionaryEntry bytes, const int match_location)
PatternMMXXPenultimate(const DictionaryEntry bytes, const int match_location)
PatternMMXXPrevious(const DictionaryEntry bytes, const int match_location)
PatternRRRR(const DictionaryEntry bytes, const int match_location)
PatternXXXX(const DictionaryEntry bytes, const int match_location)
PatternXXZZ(const DictionaryEntry bytes, const int match_location)
PatternXZZZ(const DictionaryEntry bytes, const int match_location)
PatternZXZX(const DictionaryEntry bytes, const int match_location)
PatternZZXX(const DictionaryEntry bytes, const int match_location)
PatternZZZX(const DictionaryEntry bytes, const int match_location)
PatternZZZZ(const DictionaryEntry bytes, const int match_location)
std::string getName(int number) const override
Get meta-name assigned to the given pattern.
uint64_t getNumPatterns() const override
Trick function to get the number of patterns.
Factory< PatternZZZZ, PatternFFFF, PatternMMMMPrevious, PatternMMMMPenultimate, PatternZZZX, PatternXZZZ, PatternRRRR, PatternMMMXPrevious, PatternMMMXPenultimate, PatternZZXX, PatternZXZX, PatternFFXX, PatternXXZZ, PatternMMXXPrevious, PatternMMXXPenultimate, PatternXXXX > PatternFactory
Convenience factory declaration.
static constexpr int penultimateIndex
Index of the penultimate dictionary entry.
std::unique_ptr< Pattern > getPattern(const DictionaryEntry &bytes, const DictionaryEntry &dict_bytes, const int match_location) const override
static constexpr int prefixSize
Number of bits in a FPCD pattern prefix.
DictionaryCompressor< uint32_t >::DictionaryEntry DictionaryEntry
static constexpr int previousIndex
Index of the previous dictionary entry.
PatternNumber
The patterns proposed in the paper.
void addToDictionary(DictionaryEntry data) override
Definition of a dictionary based cache compressor.
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
GEM5_DEPRECATED_NAMESPACE(GuestABI, guest_abi)