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