Cache.py revision 1310
112953Sgabeblack@google.comfrom BaseMem import BaseMem 212953Sgabeblack@google.com 312953Sgabeblack@google.comsimobj BaseCache(BaseMem): 412953Sgabeblack@google.com adaptive_compression = Param.Bool(false, 512953Sgabeblack@google.com "Use an adaptive compression scheme") 612953Sgabeblack@google.com assoc = Param.Int("associativity") 712953Sgabeblack@google.com block_size = Param.Int("block size in bytes") 812953Sgabeblack@google.com compressed_bus = Param.Bool(false, 912953Sgabeblack@google.com "This cache connects to a compressed memory") 1012953Sgabeblack@google.com compression_latency = Param.Int(0, 1112953Sgabeblack@google.com "Latency in cycles of compression algorithm") 1212953Sgabeblack@google.com do_copy = Param.Bool(false, "perform fast copies in the cache") 1312953Sgabeblack@google.com hash_delay = Param.Int(1, "time in cycles of hash access") 1412953Sgabeblack@google.com in_bus = Param.Bus(NULL, "incoming bus object") 1512953Sgabeblack@google.com max_miss_count = Param.Counter(0, 1612953Sgabeblack@google.com "number of misses to handle before calling exit") 1712953Sgabeblack@google.com mshrs = Param.Int("number of MSHRs (max outstanding requests)") 1812953Sgabeblack@google.com out_bus = Param.Bus("outgoing bus object") 1912953Sgabeblack@google.com prioritizeRequests = Param.Bool(false, 2012953Sgabeblack@google.com "always service demand misses first") 2112953Sgabeblack@google.com protocol = Param.CoherenceProtocol(NULL, "coherence protocol to use") 2212953Sgabeblack@google.com repl = Param.Repl(NULL, "replacement policy") 2312953Sgabeblack@google.com size = Param.Int("capacity in bytes") 2412953Sgabeblack@google.com store_compressed = Param.Bool(false, 2512953Sgabeblack@google.com "Store compressed data in the cache") 2612953Sgabeblack@google.com subblock_size = Param.Int(0, 2712953Sgabeblack@google.com "Size of subblock in IIC used for compression") 2812953Sgabeblack@google.com tgts_per_mshr = Param.Int("max number of accesses per MSHR") 2912953Sgabeblack@google.com trace_addr = Param.Addr(0, "address to trace") 3012953Sgabeblack@google.com write_buffers = Param.Int(8, "number of write buffers") 3112953Sgabeblack@google.com