Cache.py revision 1366
12131SN/Afrom BaseMem import BaseMem 25268Sksewell@umich.edu 35254Sksewell@umich.edusimobj BaseCache(BaseMem): 45254Sksewell@umich.edu type = 'BaseCache' 52131SN/A adaptive_compression = Param.Bool(false, 65254Sksewell@umich.edu "Use an adaptive compression scheme") 75254Sksewell@umich.edu assoc = Param.Int("associativity") 85254Sksewell@umich.edu block_size = Param.Int("block size in bytes") 95254Sksewell@umich.edu compressed_bus = Param.Bool(false, 105254Sksewell@umich.edu "This cache connects to a compressed memory") 115254Sksewell@umich.edu compression_latency = Param.Int(0, 125254Sksewell@umich.edu "Latency in cycles of compression algorithm") 135254Sksewell@umich.edu do_copy = Param.Bool(false, "perform fast copies in the cache") 145254Sksewell@umich.edu hash_delay = Param.Int(1, "time in cycles of hash access") 155254Sksewell@umich.edu in_bus = Param.Bus(NULL, "incoming bus object") 162131SN/A lifo = Param.Bool(false, 175254Sksewell@umich.edu "whether this NIC partition should use LIFO repl. policy") 185254Sksewell@umich.edu max_miss_count = Param.Counter(0, 195254Sksewell@umich.edu "number of misses to handle before calling exit") 205254Sksewell@umich.edu mshrs = Param.Int("number of MSHRs (max outstanding requests)") 215254Sksewell@umich.edu out_bus = Param.Bus("outgoing bus object") 225254Sksewell@umich.edu prioritizeRequests = Param.Bool(false, 235254Sksewell@umich.edu "always service demand misses first") 245254Sksewell@umich.edu protocol = Param.CoherenceProtocol(NULL, "coherence protocol to use") 255254Sksewell@umich.edu repl = Param.Repl(NULL, "replacement policy") 265254Sksewell@umich.edu size = Param.Int("capacity in bytes") 275254Sksewell@umich.edu split = Param.Bool(false, "whether or not this cache is split") 282665Ssaidi@eecs.umich.edu split_size = Param.Int(0, 295254Sksewell@umich.edu "How many ways of the cache belong to CPU/LRU partition") 305254Sksewell@umich.edu store_compressed = Param.Bool(false, 315222Sksewell@umich.edu "Store compressed data in the cache") 322131SN/A subblock_size = Param.Int(0, 332131SN/A "Size of subblock in IIC used for compression") 342239SN/A tgts_per_mshr = Param.Int("max number of accesses per MSHR") 352680Sktlim@umich.edu trace_addr = Param.Addr(0, "address to trace") 362447SN/A two_queue = Param.Bool(false, 372447SN/A "whether the lifo should have two queue replacement") 385222Sksewell@umich.edu write_buffers = Param.Int(8, "number of write buffers") 392800Ssaidi@eecs.umich.edu