-
Notifications
You must be signed in to change notification settings - Fork 10
/
trace.cfg
86 lines (80 loc) · 8.86 KB
/
trace.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# feeder: DecoupledFeeder
flexus.set "-feeder:housekeeping_period" "1000" # "Simics cycles between housekeeping events" (HousekeepingPeriod)
flexus.set "-feeder:CMPwidth" "0" # "Number of cores per CMP chip (0 = sys width)" (CMPWidth)
# L1d: FastCache
flexus.set "-L1d:bsize" "64" # "Block size" (BlockSize)
flexus.set "-L1d:mt_width" "1" # "Number of threads sharing this cache" (MTWidth)
flexus.set "-L1d:size" "16384" # "Cache size in bytes" (Size)
flexus.set "-L1d:assoc" "4" # "Set associativity" (Associativity)
#flexus.set "-L1d:clean_evict" "1" # "Issue clean evictions" (CleanEvictions)
flexus.set "-L1d:level" "1" # "CacheLevel" (CacheLevel)
#flexus.set "-L1d:notify_reads" "0" # "Notify on reads (does not notify on fast-hit)" (NotifyReads)
#flexus.set "-L1d:notify_writes" "0" # "Notify on writes" (NotifyWrites)
#flexus.set "-L1d:trace_tracker_on" "0" # "Turn trace tracker on/off" (TraceTracker)
#flexus.set "-L1d:rsize" "1024" # "Region size in bytes" (RegionSize)
#flexus.set "-L1d:rt_assoc" "16" # "RegionTracker Associativity" (RTAssoc)
#flexus.set "-L1d:rt_size" "8192" # "RegionTracker size (number of regions tracked)" (RTSize)
#flexus.set "-L1d:rt_repl" "LRU" # "RegionTracker replacement policy (SetLRU | RegionLRU)" (RTReplPolicy)
#flexus.set "-L1d:erb_size" "8" # "Evicted Region Buffer size" (ERBSize)
flexus.set "-L1d:std_array" "1" # "Use Standard Tag Array instead of RegionTracker" (StdArray)
#flexus.set "-L1d:block_scout" "0" # "Use precise block sharing info" (BlockScout)
#flexus.set "-L1d:skew_block_set" "0" # "skew block set indices based on rt way" (SkewBlockSet)
flexus.set "-L1d:protocol" "InclusiveMESI" # "Name of the coherence protocol (InclusiveMOESI)" (Protocol)
#flexus.set "-L1d:using_traces" "0" # "References are coming from traces (allow certain inconsistancies" (UsingTraces)
#flexus.set "-L1d:text_flexpoints" "1" # "Store flexpoints as text files (compatible with old FastCache component)" (TextFlexpoints)
#flexus.set "-L1d:gzip_flexpoints" "0" # "Compress flexpoints with gzip" (GZipFlexpoints)
#flexus.set "-L1d:downgrade_lru" "0" # "Move block to LRU position when a Downgrade is recieved for a block in Modified or Exclusive state" (DowngradeLRU)
#flexus.set "-L1d:snoop_lru" "0" # "Move block to LRU position when a Snoop (ReturnReq) is recieved for a block in Modified or Exclusive state" (SnoopLRU)
# L1i: FastCache
flexus.set "-L1i:mt_width" "1" # "Number of threads sharing this cache" (MTWidth)
flexus.set "-L1i:size" "16384" # "Cache size in bytes" (Size)
flexus.set "-L1i:assoc" "4" # "Set associativity" (Associativity)
flexus.set "-L1i:bsize" "64" # "Block size" (BlockSize)
flexus.set "-L1i:clean_evict" "1" # "Issue clean evictions" (CleanEvictions)
flexus.set "-L1i:level" "9" # "CacheLevel" (CacheLevel)
flexus.set "-L1i:notify_reads" "0" # "Notify on reads (does not notify on fast-hit)" (NotifyReads)
flexus.set "-L1i:notify_writes" "0" # "Notify on writes" (NotifyWrites)
flexus.set "-L1i:trace_tracker_on" "0" # "Turn trace tracker on/off" (TraceTracker)
#flexus.set "-L1i:rsize" "1024" # "Region size in bytes" (RegionSize)
#flexus.set "-L1i:rt_assoc" "16" # "RegionTracker Associativity" (RTAssoc)
#flexus.set "-L1i:rt_size" "8192" # "RegionTracker size (number of regions tracked)" (RTSize)
#flexus.set "-L1i:rt_repl" "LRU" # "RegionTracker replacement policy (SetLRU | RegionLRU)" (RTReplPolicy)
flexus.set "-L1i:erb_size" "8" # "Evicted Region Buffer size" (ERBSize)
flexus.set "-L1i:std_array" "1" # "Use Standard Tag Array instead of RegionTracker" (StdArray)
flexus.set "-L1i:block_scout" "0" # "Use precise block sharing info" (BlockScout)
flexus.set "-L1i:skew_block_set" "0" # "skew block set indices based on rt way" (SkewBlockSet)
flexus.set "-L1i:protocol" "InclusiveMESI" # "Name of the coherence protocol (InclusiveMOESI)" (Protocol)
flexus.set "-L1i:using_traces" "0" # "References are coming from traces (allow certain inconsistancies" (UsingTraces)
flexus.set "-L1i:text_flexpoints" "1" # "Store flexpoints as text files (compatible with old FastCache component)" (TextFlexpoints)
flexus.set "-L1i:gzip_flexpoints" "0" # "Compress flexpoints with gzip" (GZipFlexpoints)
flexus.set "-L1i:downgrade_lru" "0" # "Move block to LRU position when a Downgrade is recieved for a block in Modified or Exclusive state" (DowngradeLRU)
flexus.set "-L1i:snoop_lru" "0" # "Move block to LRU position when a Snoop (ReturnReq) is recieved for a block in Modified or Exclusive state" (SnoopLRU)
# L2: FastCMPCache
flexus.set "-L2:CMPWidth" "0" # "Number of cores per CMP chip (0 = sys width)" (CMPWidth)
flexus.set "-L2:size" "33554432"# (32MB) "Cache size in bytes" (Size)
flexus.set "-L2:assoc" "8" # Set associativity" (Associativity)
flexus.set "-L2:bsize" "64" # "Block size" (BlockSize)
flexus.set "-L2:clean_evict" "0" # "Issue clean evictions" (CleanEvictions)
flexus.set "-L2:level" "2" # "CacheLevel" (CacheLevel)
flexus.set "-L2:trace_tracker_on" "0" # "Turn trace tracker on/off" (TraceTracker)
flexus.set "-L2:repl" "LRU" # "RegionTracker replacement policy (SetLRU | RegionLRU)" (RTReplPolicy)
#flexus.set "-L2:rsize" "1024" # "Region size in bytes" (RegionSize)
#flexus.set "-L2:rt_assoc" "16" # "RegionTracker Associativity" (RTAssoc)
#flexus.set "-L2:rt_size" "8192" # "RegionTracker size (number of regions tracked)" (RTSize)
flexus.set "-L2:erb_size" "8" # "Evicted Region Buffer size" (ERBSize)
flexus.set "-L2:std_array" "1" # "Use Standard Tag Array instead of RegionTracker" (StdArray)
flexus.set "-L2:directory_type" "Standard:sets=65536:assoc=8:repl=lru" # "Directory Type" (DirectoryType)
flexus.set "-L2:protocol" "SingleCMP" # "Protocol Type" (Protocol)
flexus.set "-L2:always_multicast" "0" # "Perform multicast instead of serial snooping" (AlwaysMulticast)
flexus.set "-L2:seperate_id" "1" # "Track Instruction and Data caches separately" (SeparateID)
flexus.set "-L2:coherence_unit" "64" # "Coherence Unit" (CoherenceUnit)
# bpwarm: BPWarm
flexus.set "-bpwarm:cores" "0"
flexus.set "-bpwarm:btbsets" "512"
flexus.set "-bpwarm:btbways" "1"
# magic-break: MagicBreak
# mmu: MMU
flexus.set "-mmu:cores" "0" # "Number of cores" (Cores)
flexus.set "-mmu:itlbsize" "64" # "Size of the Instruction TLB" (iTLBSize)
flexus.set "-mmu:dtlbsize" "64" # "Size of the Data TLB" (dTLBSize)
flexus.set "-mmu:perfect" "0" # "TLB never misses" (PerfectTLB) (1=true, 0=false)