Cache.py (13892:0182a0601f66) | Cache.py (13945:a573bed35a8b) |
---|---|
1# Copyright (c) 2012-2013, 2015, 2018 ARM Limited 2# All rights reserved. 3# 4# The license below extends only to copyright in the software and shall 5# not be construed as granting a license to any other intellectual 6# property including but not limited to intellectual property relating 7# to a hardware implementation of the functionality of the software 8# licensed hereunder. You may use the software subject to the license --- 30 unchanged lines hidden (view full) --- 39# Authors: Nathan Binkert 40# Andreas Hansson 41 42from m5.params import * 43from m5.proxy import * 44from m5.SimObject import SimObject 45 46from m5.objects.ClockedObject import ClockedObject | 1# Copyright (c) 2012-2013, 2015, 2018 ARM Limited 2# All rights reserved. 3# 4# The license below extends only to copyright in the software and shall 5# not be construed as granting a license to any other intellectual 6# property including but not limited to intellectual property relating 7# to a hardware implementation of the functionality of the software 8# licensed hereunder. You may use the software subject to the license --- 30 unchanged lines hidden (view full) --- 39# Authors: Nathan Binkert 40# Andreas Hansson 41 42from m5.params import * 43from m5.proxy import * 44from m5.SimObject import SimObject 45 46from m5.objects.ClockedObject import ClockedObject |
47from m5.objects.Compressors import BaseCacheCompressor |
|
47from m5.objects.Prefetcher import BasePrefetcher 48from m5.objects.ReplacementPolicies import * 49from m5.objects.Tags import * 50 | 48from m5.objects.Prefetcher import BasePrefetcher 49from m5.objects.ReplacementPolicies import * 50from m5.objects.Tags import * 51 |
51 | |
52# Enum for cache clusivity, currently mostly inclusive or mostly 53# exclusive. 54class Clusivity(Enum): vals = ['mostly_incl', 'mostly_excl'] 55 56class WriteAllocator(SimObject): 57 type = 'WriteAllocator' 58 cxx_header = "mem/cache/cache.hh" 59 --- 40 unchanged lines hidden (view full) --- 100 prefetcher = Param.BasePrefetcher(NULL,"Prefetcher attached to cache") 101 prefetch_on_access = Param.Bool(False, 102 "Notify the hardware prefetcher on every access (not just misses)") 103 104 tags = Param.BaseTags(BaseSetAssoc(), "Tag store") 105 replacement_policy = Param.BaseReplacementPolicy(LRURP(), 106 "Replacement policy") 107 | 52# Enum for cache clusivity, currently mostly inclusive or mostly 53# exclusive. 54class Clusivity(Enum): vals = ['mostly_incl', 'mostly_excl'] 55 56class WriteAllocator(SimObject): 57 type = 'WriteAllocator' 58 cxx_header = "mem/cache/cache.hh" 59 --- 40 unchanged lines hidden (view full) --- 100 prefetcher = Param.BasePrefetcher(NULL,"Prefetcher attached to cache") 101 prefetch_on_access = Param.Bool(False, 102 "Notify the hardware prefetcher on every access (not just misses)") 103 104 tags = Param.BaseTags(BaseSetAssoc(), "Tag store") 105 replacement_policy = Param.BaseReplacementPolicy(LRURP(), 106 "Replacement policy") 107 |
108 compressor = Param.BaseCacheCompressor(NULL, "Cache compressor.") 109 |
|
108 sequential_access = Param.Bool(False, 109 "Whether to access tags and data sequentially") 110 111 cpu_side = SlavePort("Upstream port closer to the CPU and/or device") 112 mem_side = MasterPort("Downstream port closer to memory") 113 114 addr_ranges = VectorParam.AddrRange([AllMemory], 115 "Address range for the CPU-side port (to allow striping)") --- 42 unchanged lines hidden --- | 110 sequential_access = Param.Bool(False, 111 "Whether to access tags and data sequentially") 112 113 cpu_side = SlavePort("Upstream port closer to the CPU and/or device") 114 mem_side = MasterPort("Downstream port closer to memory") 115 116 addr_ranges = VectorParam.AddrRange([AllMemory], 117 "Address range for the CPU-side port (to allow striping)") --- 42 unchanged lines hidden --- |