(src/cpu/testers/traffic_gen/traffic_gen.hh) describes a state transition graph where each state is a specific generator behaviour. Examples include idling, generating linear address sequences, random sequences and replay of captured traces. By describing these behaviours as states, it is straight forward to create very complex behaviours, simply by arranging them in graphs. The graph transitions can also be annotated with probabilities, effectively making it a Markov Chain.
in configs/dram/lat_mem_rd.py
This script is helpful to observe the memory latency for various levels in a cache hierarchy, and various cache and memory configurations, in essence replicating the lmbench lat_mem_rd thrash behavior
create_trace(filename, max_addr, burst_size, itt)
lat_mem_rd0.trc.gz
STATE 0 153600000 TRACE m5out/lat_mem_rd0.trc.gz 0
system.tgen = TrafficGen(...)
system.tgen.port = system.monitor.slave
.system.monitor.master = system.l1cache.cpu_side
Reference 1
If you could revise
the fundmental principles of
computer system design
to improve security...
... what would you change?