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