diff -r a0416f2ea08a -r 106d0b28d9e3 configs/common/Caches.py --- a/configs/common/Caches.py Tue Sep 11 13:41:10 2012 -0400 +++ b/configs/common/Caches.py Tue Sep 11 13:41:10 2012 -0400 @@ -31,7 +31,8 @@ class L1Cache(BaseCache): assoc = 2 block_size = 64 - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' mshrs = 10 tgts_per_mshr = 20 is_top_level = True @@ -39,14 +40,16 @@ class L2Cache(BaseCache): assoc = 8 block_size = 64 - latency = '10ns' + hit_latency = '10ns' + response_latency = '10ns' mshrs = 20 tgts_per_mshr = 12 class PageTableWalkerCache(BaseCache): assoc = 2 block_size = 64 - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' mshrs = 10 size = '1kB' tgts_per_mshr = 12 @@ -55,7 +58,8 @@ class IOCache(BaseCache): assoc = 8 block_size = 64 - latency = '10ns' + hit_latency = '10ns' + response_latency = '10ns' mshrs = 20 size = '1kB' tgts_per_mshr = 12 diff -r a0416f2ea08a -r 106d0b28d9e3 configs/common/O3_ARM_v7a.py --- a/configs/common/O3_ARM_v7a.py Tue Sep 11 13:41:10 2012 -0400 +++ b/configs/common/O3_ARM_v7a.py Tue Sep 11 13:41:10 2012 -0400 @@ -147,7 +147,8 @@ # Instruction Cache # All latencys assume a 1GHz clock rate, with a faster clock they would be faster class O3_ARM_v7a_ICache(BaseCache): - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' block_size = 64 mshrs = 2 tgts_per_mshr = 8 @@ -158,7 +159,8 @@ # Data Cache # All latencys assume a 1GHz clock rate, with a faster clock they would be faster class O3_ARM_v7a_DCache(BaseCache): - latency = '2ns' + hit_latency = '2ns' + response_latency = '2ns' block_size = 64 mshrs = 6 tgts_per_mshr = 8 @@ -170,7 +172,8 @@ # TLB Cache # Use a cache as a L2 TLB class O3_ARM_v7aWalkCache(BaseCache): - latency = '4ns' + hit_latency = '4ns' + response_latency = '4ns' block_size = 64 mshrs = 6 tgts_per_mshr = 8 @@ -183,7 +186,8 @@ # L2 Cache # All latencys assume a 1GHz clock rate, with a faster clock they would be faster class O3_ARM_v7aL2(BaseCache): - latency = '12ns' + hit_latency = '12ns' + response_latency = '12ns' block_size = 64 mshrs = 16 tgts_per_mshr = 8 diff -r a0416f2ea08a -r 106d0b28d9e3 src/mem/cache/BaseCache.py --- a/src/mem/cache/BaseCache.py Tue Sep 11 13:41:10 2012 -0400 +++ b/src/mem/cache/BaseCache.py Tue Sep 11 13:41:10 2012 -0400 @@ -36,7 +36,9 @@ type = 'BaseCache' assoc = Param.Int("associativity") block_size = Param.Int("block size in bytes") - latency = Param.Latency("Latency") + hit_latency = Param.Latency("The hit latency for this cache") + response_latency = Param.Latency( + "Additional cache latency for the return path to core on a miss"); hash_delay = Param.Cycles(1, "time in cycles of hash access") max_miss_count = Param.Counter(0, "number of misses to handle before calling exit") diff -r a0416f2ea08a -r 106d0b28d9e3 src/mem/cache/base.hh --- a/src/mem/cache/base.hh Tue Sep 11 13:41:10 2012 -0400 +++ b/src/mem/cache/base.hh Tue Sep 11 13:41:10 2012 -0400 @@ -229,7 +229,15 @@ /** * The latency of a hit in this device. */ - int hitLatency; + const Tick hitLatency; + + /** + * The latency of sending reponse to its upper level cache/core on a + * linefill. In most contemporary processors, the return path on a cache + * miss is much quicker that the hit latency. The responseLatency parameter + * tries to capture this latency. + */ + const Tick responseLatency; /** The number of targets for each MSHR. */ const int numTarget; diff -r a0416f2ea08a -r 106d0b28d9e3 src/mem/cache/base.cc --- a/src/mem/cache/base.cc Tue Sep 11 13:41:10 2012 -0400 +++ b/src/mem/cache/base.cc Tue Sep 11 13:41:10 2012 -0400 @@ -69,7 +69,8 @@ writeBuffer("write buffer", p->write_buffers, p->mshrs+1000, MSHRQueue_WriteBuffer), blkSize(p->block_size), - hitLatency(p->latency), + hitLatency(p->hit_latency), + responseLatency(p->response_latency), numTarget(p->tgts_per_mshr), forwardSnoops(p->forward_snoops), isTopLevel(p->is_top_level), diff -r a0416f2ea08a -r 106d0b28d9e3 src/mem/cache/builder.cc --- a/src/mem/cache/builder.cc Tue Sep 11 13:41:10 2012 -0400 +++ b/src/mem/cache/builder.cc Tue Sep 11 13:41:10 2012 -0400 @@ -71,7 +71,7 @@ #if defined(USE_CACHE_FALRU) #define BUILD_FALRU_CACHE do { \ - FALRU *tags = new FALRU(block_size, size, latency); \ + FALRU *tags = new FALRU(block_size, size, hit_latency); \ BUILD_CACHE(FALRU, tags); \ } while (0) #else @@ -80,7 +80,7 @@ #if defined(USE_CACHE_LRU) #define BUILD_LRU_CACHE do { \ - LRU *tags = new LRU(numSets, block_size, assoc, latency); \ + LRU *tags = new LRU(numSets, block_size, assoc, hit_latency); \ BUILD_CACHE(LRU, tags); \ } while (0) #else @@ -124,7 +124,7 @@ iic_params.blkSize = block_size; iic_params.assoc = assoc; iic_params.hashDelay = hash_delay; - iic_params.hitLatency = latency; + iic_params.hitLatency = hit_latency; iic_params.rp = repl; iic_params.subblockSize = subblock_size; #else diff -r a0416f2ea08a -r 106d0b28d9e3 src/mem/cache/cache_impl.hh --- a/src/mem/cache/cache_impl.hh Tue Sep 11 13:41:10 2012 -0400 +++ b/src/mem/cache/cache_impl.hh Tue Sep 11 13:41:10 2012 -0400 @@ -891,8 +891,11 @@ transfer_offset += blkSize; } - // If critical word (no offset) return first word time - completion_time = tags->getHitLatency() + + // If critical word (no offset) return first word time. + // responseLatency is the latency of the return path + // from lower level caches/memory to an upper level cache or + // the core. + completion_time = responseLatency + (transfer_offset ? pkt->finishTime : pkt->firstWordTime); assert(!target->pkt->req->isUncacheable()); @@ -905,11 +908,16 @@ assert(target->pkt->cmd == MemCmd::StoreCondReq || target->pkt->cmd == MemCmd::StoreCondFailReq || target->pkt->cmd == MemCmd::SCUpgradeFailReq); - completion_time = tags->getHitLatency() + pkt->finishTime; + // responseLatency is the latency of the return path + // from lower level caches/memory to an upper level cache or + // the core. + completion_time = responseLatency + pkt->finishTime; target->pkt->req->setExtraData(0); } else { // not a cache fill, just forwarding response - completion_time = tags->getHitLatency() + pkt->finishTime; + // responseLatency is the latency of the return path + // from lower level cahces/memory to the core. + completion_time = responseLatency + pkt->finishTime; if (pkt->isRead() && !is_error) { target->pkt->setData(pkt->getPtr()); } diff -r a0416f2ea08a -r 106d0b28d9e3 tests/configs/inorder-timing.py --- a/tests/configs/inorder-timing.py Tue Sep 11 13:41:10 2012 -0400 +++ b/tests/configs/inorder-timing.py Tue Sep 11 13:41:10 2012 -0400 @@ -33,7 +33,8 @@ class MyCache(BaseCache): assoc = 2 block_size = 64 - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' mshrs = 10 tgts_per_mshr = 5 @@ -43,7 +44,8 @@ cpu = InOrderCPU(cpu_id=0) cpu.addTwoLevelCacheHierarchy(MyL1Cache(size = '128kB'), MyL1Cache(size = '256kB'), - MyCache(size = '2MB', latency='10ns')) + MyCache(size = '2MB', hit_latency='10ns', + response_latency='10ns')) cpu.clock = '2GHz' diff -r a0416f2ea08a -r 106d0b28d9e3 tests/configs/memtest.py --- a/tests/configs/memtest.py Tue Sep 11 13:41:10 2012 -0400 +++ b/tests/configs/memtest.py Tue Sep 11 13:41:10 2012 -0400 @@ -34,7 +34,8 @@ # ==================== class L1(BaseCache): - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' block_size = 64 mshrs = 12 tgts_per_mshr = 8 @@ -46,7 +47,8 @@ class L2(BaseCache): block_size = 64 - latency = '10ns' + hit_latency = '10ns' + response_latency = '10ns' mshrs = 92 tgts_per_mshr = 16 write_buffers = 8 diff -r a0416f2ea08a -r 106d0b28d9e3 tests/configs/o3-timing-checker.py --- a/tests/configs/o3-timing-checker.py Tue Sep 11 13:41:10 2012 -0400 +++ b/tests/configs/o3-timing-checker.py Tue Sep 11 13:41:10 2012 -0400 @@ -42,7 +42,8 @@ class MyCache(BaseCache): assoc = 2 block_size = 64 - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' mshrs = 10 tgts_per_mshr = 5 diff -r a0416f2ea08a -r 106d0b28d9e3 tests/configs/o3-timing-mp.py --- a/tests/configs/o3-timing-mp.py Tue Sep 11 13:41:10 2012 -0400 +++ b/tests/configs/o3-timing-mp.py Tue Sep 11 13:41:10 2012 -0400 @@ -35,7 +35,8 @@ # ==================== class L1(BaseCache): - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' block_size = 64 mshrs = 4 tgts_per_mshr = 20 @@ -47,7 +48,8 @@ class L2(BaseCache): block_size = 64 - latency = '10ns' + hit_latency = '10ns' + response_latency = '10ns' mshrs = 92 tgts_per_mshr = 16 write_buffers = 8 diff -r a0416f2ea08a -r 106d0b28d9e3 tests/configs/o3-timing.py --- a/tests/configs/o3-timing.py Tue Sep 11 13:41:10 2012 -0400 +++ b/tests/configs/o3-timing.py Tue Sep 11 13:41:10 2012 -0400 @@ -33,7 +33,8 @@ class MyCache(BaseCache): assoc = 2 block_size = 64 - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' mshrs = 10 tgts_per_mshr = 5 diff -r a0416f2ea08a -r 106d0b28d9e3 tests/configs/pc-o3-timing.py --- a/tests/configs/pc-o3-timing.py Tue Sep 11 13:41:10 2012 -0400 +++ b/tests/configs/pc-o3-timing.py Tue Sep 11 13:41:10 2012 -0400 @@ -39,7 +39,8 @@ # ==================== class L1(BaseCache): - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' block_size = 64 mshrs = 4 tgts_per_mshr = 20 @@ -51,7 +52,8 @@ class L2(BaseCache): block_size = 64 - latency = '10ns' + hit_latency = '10ns' + response_latency = '10ns' mshrs = 92 tgts_per_mshr = 16 write_buffers = 8 @@ -62,7 +64,8 @@ class PageTableWalkerCache(BaseCache): assoc = 2 block_size = 64 - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' mshrs = 10 size = '1kB' tgts_per_mshr = 12 @@ -73,7 +76,8 @@ class IOCache(BaseCache): assoc = 8 block_size = 64 - latency = '50ns' + hit_latency = '50ns' + response_latency = '50ns' mshrs = 20 size = '1kB' tgts_per_mshr = 12 diff -r a0416f2ea08a -r 106d0b28d9e3 tests/configs/pc-simple-atomic.py --- a/tests/configs/pc-simple-atomic.py Tue Sep 11 13:41:10 2012 -0400 +++ b/tests/configs/pc-simple-atomic.py Tue Sep 11 13:41:10 2012 -0400 @@ -39,7 +39,8 @@ # ==================== class L1(BaseCache): - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' block_size = 64 mshrs = 4 tgts_per_mshr = 8 @@ -51,7 +52,8 @@ class L2(BaseCache): block_size = 64 - latency = '10ns' + hit_latency = '10ns' + response_latency = '10ns' mshrs = 92 tgts_per_mshr = 16 write_buffers = 8 @@ -62,7 +64,8 @@ class PageTableWalkerCache(BaseCache): assoc = 2 block_size = 64 - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' mshrs = 10 size = '1kB' tgts_per_mshr = 12 @@ -74,7 +77,8 @@ class IOCache(BaseCache): assoc = 8 block_size = 64 - latency = '50ns' + hit_latency = '50ns' + response_latency = '50ns' mshrs = 20 size = '1kB' tgts_per_mshr = 12 diff -r a0416f2ea08a -r 106d0b28d9e3 tests/configs/pc-simple-timing.py --- a/tests/configs/pc-simple-timing.py Tue Sep 11 13:41:10 2012 -0400 +++ b/tests/configs/pc-simple-timing.py Tue Sep 11 13:41:10 2012 -0400 @@ -40,7 +40,8 @@ # ==================== class L1(BaseCache): - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' block_size = 64 mshrs = 4 tgts_per_mshr = 8 @@ -52,7 +53,8 @@ class L2(BaseCache): block_size = 64 - latency = '10ns' + hit_latency = '10ns' + response_latency = '10ns' mshrs = 92 tgts_per_mshr = 16 write_buffers = 8 @@ -63,7 +65,8 @@ class PageTableWalkerCache(BaseCache): assoc = 2 block_size = 64 - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' mshrs = 10 size = '1kB' tgts_per_mshr = 12 @@ -74,7 +77,8 @@ class IOCache(BaseCache): assoc = 8 block_size = 64 - latency = '50ns' + hit_latency = '50ns' + response_latency = '50ns' mshrs = 20 size = '1kB' tgts_per_mshr = 12 diff -r a0416f2ea08a -r 106d0b28d9e3 tests/configs/realview-o3-checker.py --- a/tests/configs/realview-o3-checker.py Tue Sep 11 13:41:10 2012 -0400 +++ b/tests/configs/realview-o3-checker.py Tue Sep 11 13:41:10 2012 -0400 @@ -46,7 +46,8 @@ # ==================== class L1(BaseCache): - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' block_size = 64 mshrs = 4 tgts_per_mshr = 20 @@ -58,7 +59,8 @@ class L2(BaseCache): block_size = 64 - latency = '10ns' + hit_latency = '10ns' + response_latency = '10ns' mshrs = 92 tgts_per_mshr = 16 write_buffers = 8 @@ -69,7 +71,8 @@ class IOCache(BaseCache): assoc = 8 block_size = 64 - latency = '50ns' + hit_latency = '50ns' + response_latency = '50ns' mshrs = 20 size = '1kB' tgts_per_mshr = 12 diff -r a0416f2ea08a -r 106d0b28d9e3 tests/configs/realview-o3-dual.py --- a/tests/configs/realview-o3-dual.py Tue Sep 11 13:41:10 2012 -0400 +++ b/tests/configs/realview-o3-dual.py Tue Sep 11 13:41:10 2012 -0400 @@ -37,7 +37,8 @@ # ==================== class L1(BaseCache): - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' block_size = 64 mshrs = 4 tgts_per_mshr = 20 @@ -49,7 +50,8 @@ class L2(BaseCache): block_size = 64 - latency = '10ns' + hit_latency = '10ns' + response_latency = '10ns' mshrs = 92 tgts_per_mshr = 16 write_buffers = 8 @@ -60,7 +62,8 @@ class IOCache(BaseCache): assoc = 8 block_size = 64 - latency = '50ns' + hit_latency = '50ns' + response_latency = '50ns' mshrs = 20 size = '1kB' tgts_per_mshr = 12 diff -r a0416f2ea08a -r 106d0b28d9e3 tests/configs/realview-o3.py --- a/tests/configs/realview-o3.py Tue Sep 11 13:41:10 2012 -0400 +++ b/tests/configs/realview-o3.py Tue Sep 11 13:41:10 2012 -0400 @@ -37,7 +37,8 @@ # ==================== class L1(BaseCache): - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' block_size = 64 mshrs = 4 tgts_per_mshr = 20 @@ -49,7 +50,8 @@ class L2(BaseCache): block_size = 64 - latency = '10ns' + hit_latency = '10ns' + response_latency = '10ns' mshrs = 92 tgts_per_mshr = 16 write_buffers = 8 @@ -60,7 +62,8 @@ class IOCache(BaseCache): assoc = 8 block_size = 64 - latency = '50ns' + hit_latency = '50ns' + response_latency = '50ns' mshrs = 20 size = '1kB' tgts_per_mshr = 12 diff -r a0416f2ea08a -r 106d0b28d9e3 tests/configs/realview-simple-atomic-dual.py --- a/tests/configs/realview-simple-atomic-dual.py Tue Sep 11 13:41:10 2012 -0400 +++ b/tests/configs/realview-simple-atomic-dual.py Tue Sep 11 13:41:10 2012 -0400 @@ -37,7 +37,8 @@ # ==================== class L1(BaseCache): - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' block_size = 64 mshrs = 4 tgts_per_mshr = 8 @@ -49,7 +50,8 @@ class L2(BaseCache): block_size = 64 - latency = '10ns' + hit_latency = '10ns' + response_latency = '10ns' mshrs = 92 tgts_per_mshr = 16 write_buffers = 8 @@ -60,7 +62,8 @@ class IOCache(BaseCache): assoc = 8 block_size = 64 - latency = '50ns' + hit_latency = '50ns' + response_latency = '50ns' mshrs = 20 size = '1kB' tgts_per_mshr = 12 diff -r a0416f2ea08a -r 106d0b28d9e3 tests/configs/realview-simple-atomic.py --- a/tests/configs/realview-simple-atomic.py Tue Sep 11 13:41:10 2012 -0400 +++ b/tests/configs/realview-simple-atomic.py Tue Sep 11 13:41:10 2012 -0400 @@ -36,7 +36,8 @@ # ==================== class L1(BaseCache): - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' block_size = 64 mshrs = 4 tgts_per_mshr = 8 @@ -48,7 +49,8 @@ class L2(BaseCache): block_size = 64 - latency = '10ns' + hit_latency = '10ns' + response_latency = '10ns' mshrs = 92 tgts_per_mshr = 16 write_buffers = 8 @@ -59,7 +61,8 @@ class IOCache(BaseCache): assoc = 8 block_size = 64 - latency = '50ns' + hit_latency = '50ns' + response_latency = '50ns' mshrs = 20 size = '1kB' tgts_per_mshr = 12 diff -r a0416f2ea08a -r 106d0b28d9e3 tests/configs/realview-simple-timing-dual.py --- a/tests/configs/realview-simple-timing-dual.py Tue Sep 11 13:41:10 2012 -0400 +++ b/tests/configs/realview-simple-timing-dual.py Tue Sep 11 13:41:10 2012 -0400 @@ -37,7 +37,8 @@ # ==================== class L1(BaseCache): - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' block_size = 64 mshrs = 4 tgts_per_mshr = 8 @@ -49,7 +50,8 @@ class L2(BaseCache): block_size = 64 - latency = '10ns' + hit_latency = '10ns' + response_latency = '10ns' mshrs = 92 tgts_per_mshr = 16 write_buffers = 8 @@ -60,7 +62,8 @@ class IOCache(BaseCache): assoc = 8 block_size = 64 - latency = '50ns' + hit_latency = '50ns' + response_latency = '50ns' mshrs = 20 size = '1kB' tgts_per_mshr = 12 diff -r a0416f2ea08a -r 106d0b28d9e3 tests/configs/realview-simple-timing.py --- a/tests/configs/realview-simple-timing.py Tue Sep 11 13:41:10 2012 -0400 +++ b/tests/configs/realview-simple-timing.py Tue Sep 11 13:41:10 2012 -0400 @@ -37,7 +37,8 @@ # ==================== class L1(BaseCache): - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' block_size = 64 mshrs = 4 tgts_per_mshr = 8 @@ -49,7 +50,8 @@ class L2(BaseCache): block_size = 64 - latency = '10ns' + hit_latency = '10ns' + response_latency = '10ns' mshrs = 92 tgts_per_mshr = 16 write_buffers = 8 @@ -60,7 +62,8 @@ class IOCache(BaseCache): assoc = 8 block_size = 64 - latency = '50ns' + hit_latency = '50ns' + response_latency = '50ns' mshrs = 20 size = '1kB' tgts_per_mshr = 12 diff -r a0416f2ea08a -r 106d0b28d9e3 tests/configs/simple-atomic-mp.py --- a/tests/configs/simple-atomic-mp.py Tue Sep 11 13:41:10 2012 -0400 +++ b/tests/configs/simple-atomic-mp.py Tue Sep 11 13:41:10 2012 -0400 @@ -34,7 +34,8 @@ # ==================== class L1(BaseCache): - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' block_size = 64 mshrs = 4 tgts_per_mshr = 8 @@ -46,7 +47,8 @@ class L2(BaseCache): block_size = 64 - latency = '10ns' + hit_latency = '10ns' + response_latency = '10ns' mshrs = 92 tgts_per_mshr = 16 write_buffers = 8 diff -r a0416f2ea08a -r 106d0b28d9e3 tests/configs/simple-timing-mp.py --- a/tests/configs/simple-timing-mp.py Tue Sep 11 13:41:10 2012 -0400 +++ b/tests/configs/simple-timing-mp.py Tue Sep 11 13:41:10 2012 -0400 @@ -34,7 +34,8 @@ # ==================== class L1(BaseCache): - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' block_size = 64 mshrs = 4 tgts_per_mshr = 8 @@ -46,7 +47,8 @@ class L2(BaseCache): block_size = 64 - latency = '10ns' + hit_latency = '10ns' + response_latency = '10ns' mshrs = 92 tgts_per_mshr = 16 write_buffers = 8 diff -r a0416f2ea08a -r 106d0b28d9e3 tests/configs/simple-timing.py --- a/tests/configs/simple-timing.py Tue Sep 11 13:41:10 2012 -0400 +++ b/tests/configs/simple-timing.py Tue Sep 11 13:41:10 2012 -0400 @@ -32,7 +32,8 @@ class MyCache(BaseCache): assoc = 2 block_size = 64 - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' mshrs = 10 tgts_per_mshr = 5 @@ -42,7 +43,7 @@ cpu = TimingSimpleCPU(cpu_id=0) cpu.addTwoLevelCacheHierarchy(MyL1Cache(size = '128kB'), MyL1Cache(size = '256kB'), - MyCache(size = '2MB', latency='10ns')) + MyCache(size = '2MB', hit_latency='10ns', response_latency ='10ns')) system = System(cpu = cpu, physmem = SimpleMemory(), membus = CoherentBus()) diff -r a0416f2ea08a -r 106d0b28d9e3 tests/configs/tsunami-inorder.py --- a/tests/configs/tsunami-inorder.py Tue Sep 11 13:41:10 2012 -0400 +++ b/tests/configs/tsunami-inorder.py Tue Sep 11 13:41:10 2012 -0400 @@ -37,7 +37,8 @@ # ==================== class L1(BaseCache): - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' block_size = 64 mshrs = 4 tgts_per_mshr = 8 @@ -49,7 +50,8 @@ class L2(BaseCache): block_size = 64 - latency = '10ns' + hit_latency = '10ns' + response_latency = '10ns' mshrs = 92 tgts_per_mshr = 16 write_buffers = 8 @@ -60,7 +62,8 @@ class IOCache(BaseCache): assoc = 8 block_size = 64 - latency = '50ns' + hit_latency = '50ns' + response_latency = '50ns' mshrs = 20 size = '1kB' tgts_per_mshr = 12 diff -r a0416f2ea08a -r 106d0b28d9e3 tests/configs/tsunami-o3-dual.py --- a/tests/configs/tsunami-o3-dual.py Tue Sep 11 13:41:10 2012 -0400 +++ b/tests/configs/tsunami-o3-dual.py Tue Sep 11 13:41:10 2012 -0400 @@ -37,7 +37,8 @@ # ==================== class L1(BaseCache): - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' block_size = 64 mshrs = 4 tgts_per_mshr = 20 @@ -49,7 +50,8 @@ class L2(BaseCache): block_size = 64 - latency = '10ns' + hit_latency = '10ns' + response_latency = '10ns' mshrs = 92 tgts_per_mshr = 16 write_buffers = 8 @@ -60,7 +62,8 @@ class IOCache(BaseCache): assoc = 8 block_size = 64 - latency = '50ns' + hit_latency = '50ns' + response_latency = '50ns' mshrs = 20 size = '1kB' tgts_per_mshr = 12 diff -r a0416f2ea08a -r 106d0b28d9e3 tests/configs/tsunami-o3.py --- a/tests/configs/tsunami-o3.py Tue Sep 11 13:41:10 2012 -0400 +++ b/tests/configs/tsunami-o3.py Tue Sep 11 13:41:10 2012 -0400 @@ -37,7 +37,8 @@ # ==================== class L1(BaseCache): - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' block_size = 64 mshrs = 4 tgts_per_mshr = 20 @@ -49,7 +50,8 @@ class L2(BaseCache): block_size = 64 - latency = '10ns' + hit_latency = '10ns' + response_latency = '10ns' mshrs = 92 tgts_per_mshr = 16 write_buffers = 8 @@ -60,7 +62,8 @@ class IOCache(BaseCache): assoc = 8 block_size = 64 - latency = '50ns' + hit_latency = '50ns' + response_latency = '50ns' mshrs = 20 size = '1kB' tgts_per_mshr = 12 diff -r a0416f2ea08a -r 106d0b28d9e3 tests/configs/tsunami-simple-atomic-dual.py --- a/tests/configs/tsunami-simple-atomic-dual.py Tue Sep 11 13:41:10 2012 -0400 +++ b/tests/configs/tsunami-simple-atomic-dual.py Tue Sep 11 13:41:10 2012 -0400 @@ -36,7 +36,8 @@ # ==================== class L1(BaseCache): - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' block_size = 64 mshrs = 4 tgts_per_mshr = 8 @@ -48,7 +49,8 @@ class L2(BaseCache): block_size = 64 - latency = '10ns' + hit_latency = '10ns' + response_latency = '10ns' mshrs = 92 tgts_per_mshr = 16 write_buffers = 8 @@ -59,7 +61,8 @@ class IOCache(BaseCache): assoc = 8 block_size = 64 - latency = '50ns' + hit_latency = '50ns' + response_latency = '50ns' mshrs = 20 size = '1kB' tgts_per_mshr = 12 diff -r a0416f2ea08a -r 106d0b28d9e3 tests/configs/tsunami-simple-atomic.py --- a/tests/configs/tsunami-simple-atomic.py Tue Sep 11 13:41:10 2012 -0400 +++ b/tests/configs/tsunami-simple-atomic.py Tue Sep 11 13:41:10 2012 -0400 @@ -36,7 +36,8 @@ # ==================== class L1(BaseCache): - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' block_size = 64 mshrs = 4 tgts_per_mshr = 8 @@ -48,7 +49,8 @@ class L2(BaseCache): block_size = 64 - latency = '10ns' + hit_latency = '10ns' + response_latency = '10ns' mshrs = 92 tgts_per_mshr = 16 write_buffers = 8 @@ -59,7 +61,8 @@ class IOCache(BaseCache): assoc = 8 block_size = 64 - latency = '50ns' + hit_latency = '50ns' + response_latency = '50ns' mshrs = 20 size = '1kB' tgts_per_mshr = 12 diff -r a0416f2ea08a -r 106d0b28d9e3 tests/configs/tsunami-simple-timing-dual.py --- a/tests/configs/tsunami-simple-timing-dual.py Tue Sep 11 13:41:10 2012 -0400 +++ b/tests/configs/tsunami-simple-timing-dual.py Tue Sep 11 13:41:10 2012 -0400 @@ -36,7 +36,8 @@ # ==================== class L1(BaseCache): - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' block_size = 64 mshrs = 4 tgts_per_mshr = 8 @@ -48,7 +49,8 @@ class L2(BaseCache): block_size = 64 - latency = '10ns' + hit_latency = '10ns' + response_latency = '10ns' mshrs = 92 tgts_per_mshr = 16 write_buffers = 8 @@ -59,7 +61,8 @@ class IOCache(BaseCache): assoc = 8 block_size = 64 - latency = '50ns' + hit_latency = '50ns' + response_latency = '50ns' mshrs = 20 size = '1kB' tgts_per_mshr = 12 diff -r a0416f2ea08a -r 106d0b28d9e3 tests/configs/tsunami-simple-timing.py --- a/tests/configs/tsunami-simple-timing.py Tue Sep 11 13:41:10 2012 -0400 +++ b/tests/configs/tsunami-simple-timing.py Tue Sep 11 13:41:10 2012 -0400 @@ -37,7 +37,8 @@ # ==================== class L1(BaseCache): - latency = '1ns' + hit_latency = '1ns' + response_latency = '1ns' block_size = 64 mshrs = 4 tgts_per_mshr = 8 @@ -49,7 +50,8 @@ class L2(BaseCache): block_size = 64 - latency = '10ns' + hit_latency = '10ns' + response_latency = '10ns' mshrs = 92 tgts_per_mshr = 16 write_buffers = 8 @@ -60,7 +62,8 @@ class IOCache(BaseCache): assoc = 8 block_size = 64 - latency = '50ns' + hit_latency = '50ns' + response_latency = '50ns' mshrs = 20 size = '1kB' tgts_per_mshr = 12