base.cc (11375:f98df9231cdd) | base.cc (11377:a06a4debe272) |
---|---|
1/* 2 * Copyright (c) 2012-2013 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 --- 54 unchanged lines hidden (view full) --- 63 : QueuedSlavePort(_name, _cache, queue), queue(*_cache, *this, _label), 64 blocked(false), mustSendRetry(false), sendRetryEvent(this) 65{ 66} 67 68BaseCache::BaseCache(const BaseCacheParams *p, unsigned blk_size) 69 : MemObject(p), 70 cpuSidePort(nullptr), memSidePort(nullptr), | 1/* 2 * Copyright (c) 2012-2013 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 --- 54 unchanged lines hidden (view full) --- 63 : QueuedSlavePort(_name, _cache, queue), queue(*_cache, *this, _label), 64 blocked(false), mustSendRetry(false), sendRetryEvent(this) 65{ 66} 67 68BaseCache::BaseCache(const BaseCacheParams *p, unsigned blk_size) 69 : MemObject(p), 70 cpuSidePort(nullptr), memSidePort(nullptr), |
71 mshrQueue("MSHRs", p->mshrs, 4, p->demand_mshr_reserve), 72 writeBuffer("write buffer", p->write_buffers, p->mshrs+1000), | 71 mshrQueue("MSHRs", p->mshrs, 0, p->demand_mshr_reserve), // see below 72 writeBuffer("write buffer", p->write_buffers, p->mshrs), // see below |
73 blkSize(blk_size), 74 lookupLatency(p->hit_latency), 75 forwardLatency(p->hit_latency), 76 fillLatency(p->response_latency), 77 responseLatency(p->response_latency), 78 numTarget(p->tgts_per_mshr), 79 forwardSnoops(true), 80 isReadOnly(p->is_read_only), 81 blocked(0), 82 order(0), 83 noTargetMSHR(NULL), 84 missCount(p->max_miss_count), 85 addrRanges(p->addr_ranges.begin(), p->addr_ranges.end()), 86 system(p->system) 87{ | 73 blkSize(blk_size), 74 lookupLatency(p->hit_latency), 75 forwardLatency(p->hit_latency), 76 fillLatency(p->response_latency), 77 responseLatency(p->response_latency), 78 numTarget(p->tgts_per_mshr), 79 forwardSnoops(true), 80 isReadOnly(p->is_read_only), 81 blocked(0), 82 order(0), 83 noTargetMSHR(NULL), 84 missCount(p->max_miss_count), 85 addrRanges(p->addr_ranges.begin(), p->addr_ranges.end()), 86 system(p->system) 87{ |
88 // the MSHR queue has no reserve entries as we check the MSHR 89 // queue on every single allocation, whereas the write queue has 90 // as many reserve entries as we have MSHRs, since every MSHR may 91 // eventually require a writeback, and we do not check the write 92 // buffer before committing to an MSHR 93 |
|
88 // forward snoops is overridden in init() once we can query 89 // whether the connected master is actually snooping or not 90} 91 92void 93BaseCache::CacheSlavePort::setBlocked() 94{ 95 assert(!blocked); --- 683 unchanged lines hidden --- | 94 // forward snoops is overridden in init() once we can query 95 // whether the connected master is actually snooping or not 96} 97 98void 99BaseCache::CacheSlavePort::setBlocked() 100{ 101 assert(!blocked); --- 683 unchanged lines hidden --- |