summaryrefslogtreecommitdiff
path: root/configs/common
diff options
context:
space:
mode:
authorMrinmoy Ghosh <mrinmoy.ghosh@arm.com>2012-09-25 11:49:41 -0500
committerMrinmoy Ghosh <mrinmoy.ghosh@arm.com>2012-09-25 11:49:41 -0500
commit6fc0094337bc0356c55232c3850fb5fd2dab1f0c (patch)
treef23261eb3f3a7e91b08505e68015941b1d04ba7c /configs/common
parent74ab69c7eafc2f0d187ce3ba7d6b9a59ba291b9f (diff)
downloadgem5-6fc0094337bc0356c55232c3850fb5fd2dab1f0c.tar.xz
Cache: add a response latency to the caches
In the current caches the hit latency is paid twice on a miss. This patch lets a configurable response latency be set of the cache for the backward path.
Diffstat (limited to 'configs/common')
-rw-r--r--configs/common/Caches.py12
-rw-r--r--configs/common/O3_ARM_v7a.py12
2 files changed, 16 insertions, 8 deletions
diff --git a/configs/common/Caches.py b/configs/common/Caches.py
index 0be8001d7..f16a83559 100644
--- a/configs/common/Caches.py
+++ b/configs/common/Caches.py
@@ -31,7 +31,8 @@ from m5.objects import *
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 L1Cache(BaseCache):
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 PageTableWalkerCache(BaseCache):
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 --git a/configs/common/O3_ARM_v7a.py b/configs/common/O3_ARM_v7a.py
index 68fb0c543..20ef10ebc 100644
--- a/configs/common/O3_ARM_v7a.py
+++ b/configs/common/O3_ARM_v7a.py
@@ -147,7 +147,8 @@ class O3_ARM_v7a_3(DerivO3CPU):
# 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 @@ class O3_ARM_v7a_ICache(BaseCache):
# 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 @@ class O3_ARM_v7a_DCache(BaseCache):
# 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 @@ class O3_ARM_v7aWalkCache(BaseCache):
# 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