Cache.py revision 1366
1from BaseMem import BaseMem 2 3simobj BaseCache(BaseMem): 4 type = 'BaseCache' 5 adaptive_compression = Param.Bool(false, 6 "Use an adaptive compression scheme") 7 assoc = Param.Int("associativity") 8 block_size = Param.Int("block size in bytes") 9 compressed_bus = Param.Bool(false, 10 "This cache connects to a compressed memory") 11 compression_latency = Param.Int(0, 12 "Latency in cycles of compression algorithm") 13 do_copy = Param.Bool(false, "perform fast copies in the cache") 14 hash_delay = Param.Int(1, "time in cycles of hash access") 15 in_bus = Param.Bus(NULL, "incoming bus object") 16 lifo = Param.Bool(false, 17 "whether this NIC partition should use LIFO repl. policy") 18 max_miss_count = Param.Counter(0, 19 "number of misses to handle before calling exit") 20 mshrs = Param.Int("number of MSHRs (max outstanding requests)") 21 out_bus = Param.Bus("outgoing bus object") 22 prioritizeRequests = Param.Bool(false, 23 "always service demand misses first") 24 protocol = Param.CoherenceProtocol(NULL, "coherence protocol to use") 25 repl = Param.Repl(NULL, "replacement policy") 26 size = Param.Int("capacity in bytes") 27 split = Param.Bool(false, "whether or not this cache is split") 28 split_size = Param.Int(0, 29 "How many ways of the cache belong to CPU/LRU partition") 30 store_compressed = Param.Bool(false, 31 "Store compressed data in the cache") 32 subblock_size = Param.Int(0, 33 "Size of subblock in IIC used for compression") 34 tgts_per_mshr = Param.Int("max number of accesses per MSHR") 35 trace_addr = Param.Addr(0, "address to trace") 36 two_queue = Param.Bool(false, 37 "whether the lifo should have two queue replacement") 38 write_buffers = Param.Int(8, "number of write buffers") 39