queued.hh (14013:aeb3ca1762bb) | queued.hh (14015:e709cec78417) |
---|---|
1/* 2 * Copyright (c) 2014-2015 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 149 unchanged lines hidden (view full) --- 158 const bool queueFilter; 159 160 /** Snoop the cache before generating prefetch (cheating basically) */ 161 const bool cacheSnoop; 162 163 /** Tag prefetch with PC of generating access? */ 164 const bool tagPrefetch; 165 | 1/* 2 * Copyright (c) 2014-2015 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 149 unchanged lines hidden (view full) --- 158 const bool queueFilter; 159 160 /** Snoop the cache before generating prefetch (cheating basically) */ 161 const bool cacheSnoop; 162 163 /** Tag prefetch with PC of generating access? */ 164 const bool tagPrefetch; 165 |
166 /** Percentage of requests that can be throttled */ 167 const unsigned int throttleControlPct; 168 |
|
166 // STATS 167 Stats::Scalar pfIdentified; 168 Stats::Scalar pfBufferHit; 169 Stats::Scalar pfInCache; 170 Stats::Scalar pfRemovedFull; 171 Stats::Scalar pfSpanPage; 172 173 public: --- 50 unchanged lines hidden (view full) --- 224 * @param queue selected queue to check 225 * @param pfi information of the prefetch request to be added 226 * @param priority priority of the prefetch request to be added 227 * @return True if the prefetch request was found in the queue 228 */ 229 bool alreadyInQueue(std::list<DeferredPacket> &queue, 230 const PrefetchInfo &pfi, int32_t priority); 231 | 169 // STATS 170 Stats::Scalar pfIdentified; 171 Stats::Scalar pfBufferHit; 172 Stats::Scalar pfInCache; 173 Stats::Scalar pfRemovedFull; 174 Stats::Scalar pfSpanPage; 175 176 public: --- 50 unchanged lines hidden (view full) --- 227 * @param queue selected queue to check 228 * @param pfi information of the prefetch request to be added 229 * @param priority priority of the prefetch request to be added 230 * @return True if the prefetch request was found in the queue 231 */ 232 bool alreadyInQueue(std::list<DeferredPacket> &queue, 233 const PrefetchInfo &pfi, int32_t priority); 234 |
235 /** 236 * Returns the maxmimum number of prefetch requests that are allowed 237 * to be created from the number of prefetch candidates provided. 238 * The behavior of this service is controlled with the throttleControlPct 239 * parameter. 240 * @param total number of prefetch candidates generated by the prefetcher 241 * @return the number of these request candidates are allowed to be created 242 */ 243 size_t getMaxPermittedPrefetches(size_t total) const; 244 |
|
232 RequestPtr createPrefetchRequest(Addr addr, PrefetchInfo const &pfi, 233 PacketPtr pkt); 234}; 235 236#endif //__MEM_CACHE_PREFETCH_QUEUED_HH__ 237 | 245 RequestPtr createPrefetchRequest(Addr addr, PrefetchInfo const &pfi, 246 PacketPtr pkt); 247}; 248 249#endif //__MEM_CACHE_PREFETCH_QUEUED_HH__ 250 |