From c48a7353362a1978ef83652a6679613d9c11bdc6 Mon Sep 17 00:00:00 2001 From: Brad Beckmann Date: Sun, 21 Mar 2010 21:22:20 -0700 Subject: [PATCH] ruby: Fix MOESI_hammer cache profiler calls for L2 misses --- src/mem/protocol/MOESI_hammer-cache.sm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/mem/protocol/MOESI_hammer-cache.sm b/src/mem/protocol/MOESI_hammer-cache.sm index 4bdfcb23d..10a14e2e7 100644 --- a/src/mem/protocol/MOESI_hammer-cache.sm +++ b/src/mem/protocol/MOESI_hammer-cache.sm @@ -683,7 +683,8 @@ machine(L1Cache, "AMD Hammer-like protocol") L1IcacheMemory.profileMiss(in_msg); } else if (L1DcacheMemory.isTagPresent(address)) { L1DcacheMemory.profileMiss(in_msg); - } else { + } + if (L2cacheMemory.isTagPresent(address) == false) { L2cacheMemory.profileMiss(in_msg); } } @@ -724,12 +725,14 @@ machine(L1Cache, "AMD Hammer-like protocol") transition({I, S, O, M, MM}, L2_to_L1D) { ii_allocateL1DCacheBlock; tt_copyFromL2toL1; // Not really needed for state I + uu_profileMiss; rr_deallocateL2CacheBlock; } transition({I, S, O, M, MM}, L2_to_L1I) { jj_allocateL1ICacheBlock; tt_copyFromL2toL1; // Not really needed for state I + uu_profileMiss; rr_deallocateL2CacheBlock; } -- 2.30.2