diff options
Diffstat (limited to 'src/mem/cache/Cache.py')
-rw-r--r-- | src/mem/cache/Cache.py | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/src/mem/cache/Cache.py b/src/mem/cache/Cache.py index faee0925b..a2fa4e90f 100644 --- a/src/mem/cache/Cache.py +++ b/src/mem/cache/Cache.py @@ -46,6 +46,12 @@ from Prefetcher import BasePrefetcher from ReplacementPolicies import * from Tags import * + +# Enum for cache clusivity, currently mostly inclusive or mostly +# exclusive. +class Clusivity(Enum): vals = ['mostly_incl', 'mostly_excl'] + + class BaseCache(MemObject): type = 'BaseCache' abstract = True @@ -90,13 +96,13 @@ class BaseCache(MemObject): system = Param.System(Parent.any, "System we belong to") -# Enum for cache clusivity, currently mostly inclusive or mostly -# exclusive. -class Clusivity(Enum): vals = ['mostly_incl', 'mostly_excl'] - -class Cache(BaseCache): - type = 'Cache' - cxx_header = 'mem/cache/cache.hh' + # Determine if this cache sends out writebacks for clean lines, or + # simply clean evicts. In cases where a downstream cache is mostly + # exclusive with respect to this cache (acting as a victim cache), + # the clean writebacks are essential for performance. In general + # this should be set to True for anything but the last-level + # cache. + writeback_clean = Param.Bool(False, "Writeback clean lines") # Control whether this cache should be mostly inclusive or mostly # exclusive with respect to upstream caches. The behaviour on a @@ -110,10 +116,7 @@ class Cache(BaseCache): clusivity = Param.Clusivity('mostly_incl', "Clusivity with upstream cache") - # Determine if this cache sends out writebacks for clean lines, or - # simply clean evicts. In cases where a downstream cache is mostly - # exclusive with respect to this cache (acting as a victim cache), - # the clean writebacks are essential for performance. In general - # this should be set to True for anything but the last-level - # cache. - writeback_clean = Param.Bool(False, "Writeback clean lines") + +class Cache(BaseCache): + type = 'Cache' + cxx_header = 'mem/cache/cache.hh' |