gem5  v19.0.0.0
delta_correlating_prediction_tables.hh
Go to the documentation of this file.
1 
31 #ifndef __MEM_CACHE_PREFETCH_DELTA_CORRELATING_PREDICTION_TABLES_HH_
32 #define __MEM_CACHE_PREFETCH_DELTA_CORRELATING_PREDICTION_TABLES_HH_
33 
36 
37 struct DeltaCorrelatingPredictionTablesParams;
38 
55 {
57  const unsigned int deltaBits;
59  const unsigned int deltaMaskBits;
60 
62  struct DCPTEntry : public TaggedEntry
63  {
70  unsigned int deltaPointer;
73 
78  DCPTEntry(unsigned int num_deltas)
79  : TaggedEntry(), lastAddress(0), deltaPointer(0), deltas(num_deltas)
80  {
81  }
82 
83  void invalidate() override;
84 
91  void addAddress(Addr address, unsigned int delta_num_bits);
92 
101  unsigned int mask_bits) const;
102 
103  };
106 
107  public:
109  DeltaCorrelatingPredictionTablesParams *p);
111  {}
112 
120 
121 };
122 
123 struct DCPTPrefetcherParams;
124 
127 {
130  public:
131  DCPTPrefetcher(const DCPTPrefetcherParams *p);
133  {}
134  void calculatePrefetch(const PrefetchInfo &pfi,
135  std::vector<AddrPriority> &addresses) override;
136 };
137 #endif//__MEM_CACHE_PREFETCH_DELTA_CORRELATING_PREDICTION_TABLES_HH_
void calculatePrefetch(const BasePrefetcher::PrefetchInfo &pfi, std::vector< QueuedPrefetcher::AddrPriority > &addresses)
Computes the prefetch candidates given a prefetch event.
void getCandidates(std::vector< QueuedPrefetcher::AddrPriority > &pfs, unsigned int mask_bits) const
Attempt to generate prefetch candidates using the two most recent deltas.
Class containing the information needed by the prefetch to train and generate new prefetch requests...
Definition: base.hh:92
Delta Correlating Prediction Tables Prefetcher References: Multi-level hardware prefetching using low...
const unsigned int deltaBits
Number of bits of each delta.
The prefetcher object using the DCPT.
DeltaCorrelatingPredictionTables(DeltaCorrelatingPredictionTablesParams *p)
Copyright (c) 2018 Metempsy Technology Consulting All rights reserved.
void addAddress(Addr address, unsigned int delta_num_bits)
Adds an address to the entry, if the entry already existed, a delta will be generated.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
Definition: types.hh:142
Associative container based on the previosuly defined Entry type Each element is indexed by a key of ...
DeltaCorrelatingPredictionTables & dcpt
DCPT object.
Copyright (c) 2018 Metempsy Technology Consulting All rights reserved.
Bitfield< 0 > p
Abstract superclass for simulation objects.
Definition: sim_object.hh:96
AssociativeSet< DCPTEntry > table
The main table.
const unsigned int deltaMaskBits
Number of lower bits to ignore from the deltas.
unsigned int deltaPointer
Position of the first free entry, or the oldest element, if it is full.

Generated on Fri Feb 28 2020 16:27:01 for gem5 by doxygen 1.8.13