TidalSim is not a new simulator. It is a simulation methodology that combines the strengths of architectural simulators, uArch models, and RTL simulators.
Instead of running the entire program in uArch simulation, run the entire program in functional simulation and only run samples in uArch simulation
The full workload is represented by a selection of sampling units.
N=10000
, C=18
L1d functional warmup brings IPC error from 7% to 2%
checkpoints
0x80000000.680000
loadarch (all arch register state)
mem.bin (all DRAM state)
mtr (memory timestamp record - cache uArch agnostic)
dcache_{data,tag}_array (reconstructed concrete L1 cache state)
perf.csv (IPC, MPKI, cache miss performance metrics)
dump.fsdb (full waveform dump)
0x80000000.120000
loadarch
mem.bin
mtr
dcache_{data,tag}_array
perf.csv
dump.fsdb