snoop_filter.hh (11131:22e739752f47) | snoop_filter.hh (11132:fbd597034299) |
---|---|
1/* 2 * Copyright (c) 2013-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 --- 76 unchanged lines hidden (view full) --- 85 * requesting MSHRs track order between local requests and remote snoops 86 */ 87class SnoopFilter : public SimObject { 88 public: 89 typedef std::vector<QueuedSlavePort*> SnoopList; 90 91 SnoopFilter (const SnoopFilterParams *p) : 92 SimObject(p), reqLookupResult(cachedLocations.end()), retryItem{0, 0}, | 1/* 2 * Copyright (c) 2013-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 --- 76 unchanged lines hidden (view full) --- 85 * requesting MSHRs track order between local requests and remote snoops 86 */ 87class SnoopFilter : public SimObject { 88 public: 89 typedef std::vector<QueuedSlavePort*> SnoopList; 90 91 SnoopFilter (const SnoopFilterParams *p) : 92 SimObject(p), reqLookupResult(cachedLocations.end()), retryItem{0, 0}, |
93 linesize(p->system->cacheLineSize()), lookupLatency(p->lookup_latency) | 93 linesize(p->system->cacheLineSize()), lookupLatency(p->lookup_latency), 94 maxEntryCount(p->max_capacity / p->system->cacheLineSize()) |
94 { 95 } 96 97 /** 98 * Init a new snoop filter and tell it about all the slave ports of the 99 * enclosing bus. 100 * 101 * @param bus_slave_ports Vector of slave ports that the bus is attached to. --- 147 unchanged lines hidden (view full) --- 249 */ 250 SnoopItem retryItem; 251 /** List of all attached slave ports. */ 252 SnoopList slavePorts; 253 /** Cache line size. */ 254 const unsigned linesize; 255 /** Latency for doing a lookup in the filter */ 256 const Cycles lookupLatency; | 95 { 96 } 97 98 /** 99 * Init a new snoop filter and tell it about all the slave ports of the 100 * enclosing bus. 101 * 102 * @param bus_slave_ports Vector of slave ports that the bus is attached to. --- 147 unchanged lines hidden (view full) --- 250 */ 251 SnoopItem retryItem; 252 /** List of all attached slave ports. */ 253 SnoopList slavePorts; 254 /** Cache line size. */ 255 const unsigned linesize; 256 /** Latency for doing a lookup in the filter */ 257 const Cycles lookupLatency; |
258 /** Max capacity in terms of cache blocks tracked, for sanity checking */ 259 const unsigned maxEntryCount; |
|
257 258 /** Statistics */ 259 Stats::Scalar totRequests; 260 Stats::Scalar hitSingleRequests; 261 Stats::Scalar hitMultiRequests; 262 263 Stats::Scalar totSnoops; 264 Stats::Scalar hitSingleSnoops; --- 32 unchanged lines hidden --- | 260 261 /** Statistics */ 262 Stats::Scalar totRequests; 263 Stats::Scalar hitSingleRequests; 264 Stats::Scalar hitMultiRequests; 265 266 Stats::Scalar totSnoops; 267 Stats::Scalar hitSingleSnoops; --- 32 unchanged lines hidden --- |