Tom Rollet has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/68797?usp=email )

Change subject: stdlib: remove useless cache init function
......................................................................

stdlib: remove useless cache init function

Removing the __init__ function allows to modify the
cache members without having to add a new parameter in the __init__ function.
Also add default size to caches as passing the size of the caches
will become optional.

Change-Id: If7c1f03763eee88994bfcf11745b79fcce38191f
---
M src/python/gem5/components/cachehierarchies/classic/caches/l1dcache.py
M src/python/gem5/components/cachehierarchies/classic/caches/l1icache.py
M src/python/gem5/components/cachehierarchies/classic/caches/l2cache.py
3 files changed, 31 insertions(+), 83 deletions(-)



diff --git a/src/python/gem5/components/cachehierarchies/classic/caches/l1dcache.py b/src/python/gem5/components/cachehierarchies/classic/caches/l1dcache.py
index da4a4ea..12cd5b9 100644
--- a/src/python/gem5/components/cachehierarchies/classic/caches/l1dcache.py
+++ b/src/python/gem5/components/cachehierarchies/classic/caches/l1dcache.py
@@ -26,38 +26,20 @@

 from .....utils.override import *

-from m5.objects import Cache, BasePrefetcher, StridePrefetcher
-
-from typing import Type
+from m5.objects import Cache, StridePrefetcher


 class L1DCache(Cache):
     """
     A simple L1 data cache with default values.
-
-    If the cache has a mostly exclusive downstream cache, writeback_clean
-    should be set to True.
     """

-    def __init__(
-        self,
-        size: str,
-        assoc: int = 8,
-        tag_latency: int = 1,
-        data_latency: int = 1,
-        response_latency: int = 1,
-        mshrs: int = 16,
-        tgts_per_mshr: int = 20,
-        writeback_clean: bool = False,
-        PrefetcherCls: Type[BasePrefetcher] = StridePrefetcher,
-    ):
-        super().__init__()
-        self.size = size
-        self.assoc = assoc
-        self.tag_latency = tag_latency
-        self.data_latency = data_latency
-        self.response_latency = response_latency
-        self.mshrs = mshrs
-        self.tgts_per_mshr = tgts_per_mshr
-        self.writeback_clean = writeback_clean
-        self.prefetcher = PrefetcherCls()
+    size = "32kB"
+    assoc = 8
+    tag_latency = 1
+    data_latency = 1
+    response_latency = 1
+    mshrs = 16
+    tgts_per_mshr = 20
+    writeback_clean = False
+    prefetcher = StridePrefetcher()
diff --git a/src/python/gem5/components/cachehierarchies/classic/caches/l1icache.py b/src/python/gem5/components/cachehierarchies/classic/caches/l1icache.py
index f1ac89c..fa33a02 100644
--- a/src/python/gem5/components/cachehierarchies/classic/caches/l1icache.py
+++ b/src/python/gem5/components/cachehierarchies/classic/caches/l1icache.py
@@ -24,9 +24,7 @@
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

-from typing import Type
-
-from m5.objects import Cache, BasePrefetcher, StridePrefetcher
+from m5.objects import Cache, StridePrefetcher

 from .....utils.override import *

@@ -34,30 +32,14 @@
 class L1ICache(Cache):
     """
     A simple L1 instruction cache with default values.
-
-    If the cache does not have a downstream cache or the downstream cache
-    is mostly inclusive as usual, writeback_clean should be set to False.
     """

-    def __init__(
-        self,
-        size: str,
-        assoc: int = 8,
-        tag_latency: int = 1,
-        data_latency: int = 1,
-        response_latency: int = 1,
-        mshrs: int = 16,
-        tgts_per_mshr: int = 20,
-        writeback_clean: bool = True,
-        PrefetcherCls: Type[BasePrefetcher] = StridePrefetcher,
-    ):
-        super().__init__()
-        self.size = size
-        self.assoc = assoc
-        self.tag_latency = tag_latency
-        self.data_latency = data_latency
-        self.response_latency = response_latency
-        self.mshrs = mshrs
-        self.tgts_per_mshr = tgts_per_mshr
-        self.writeback_clean = writeback_clean
-        self.prefetcher = PrefetcherCls()
+    size = "32kB"
+    assoc = 8
+    tag_latency = 1
+    data_latency = 1
+    response_latency = 1
+    mshrs = 16
+    tgts_per_mshr = 20
+    writeback_clean = True
+    prefetcher = StridePrefetcher()
diff --git a/src/python/gem5/components/cachehierarchies/classic/caches/l2cache.py b/src/python/gem5/components/cachehierarchies/classic/caches/l2cache.py
index 86b6985..6329b56 100644
--- a/src/python/gem5/components/cachehierarchies/classic/caches/l2cache.py
+++ b/src/python/gem5/components/cachehierarchies/classic/caches/l2cache.py
@@ -26,9 +26,7 @@

 from .....utils.override import *

-from m5.objects import Cache, Clusivity, BasePrefetcher, StridePrefetcher
-
-from typing import Type
+from m5.objects import Cache, StridePrefetcher


 class L2Cache(Cache):
@@ -36,27 +34,13 @@
     A simple L2 Cache with default values.
     """

-    def __init__(
-        self,
-        size: str,
-        assoc: int = 16,
-        tag_latency: int = 10,
-        data_latency: int = 10,
-        response_latency: int = 1,
-        mshrs: int = 20,
-        tgts_per_mshr: int = 12,
-        writeback_clean: bool = False,
-        clusivity: Clusivity = "mostly_incl",
-        PrefetcherCls: Type[BasePrefetcher] = StridePrefetcher,
-    ):
-        super().__init__()
-        self.size = size
-        self.assoc = assoc
-        self.tag_latency = tag_latency
-        self.data_latency = data_latency
-        self.response_latency = response_latency
-        self.mshrs = mshrs
-        self.tgts_per_mshr = tgts_per_mshr
-        self.writeback_clean = writeback_clean
-        self.clusivity = clusivity
-        self.prefetcher = PrefetcherCls()
+    size = "512kB"
+    assoc = 16
+    tag_latency = 10
+    data_latency = 10
+    response_latency = 1
+    mshrs = 20
+    tgts_per_mshr = 12
+    writeback_clean = False
+    clusivity = "mostly_incl"
+    prefetcher = StridePrefetcher()

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/68797?usp=email To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: If7c1f03763eee88994bfcf11745b79fcce38191f
Gerrit-Change-Number: 68797
Gerrit-PatchSet: 1
Gerrit-Owner: Tom Rollet <tom.rol...@huawei.com>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org

Reply via email to