gem5への理解を深めるために、以下のネット上に公開されている課題をやってみようと思う。
次に、少し小さなサイクル数で、各CPUモデルでのサイクル数を調査する。
TimingSimpleCPU、MinorCPU、DerivO3CPUを比較する。TimingSimpleCPUはステップバイステップで動作するので最も遅い、DerivO3CPUはアウト・オブ・オーダ実行するものだ。
../gem5/build/RISCV/gem5.opt ../gem5/configs/deprecated/example/se.py \ --cpu-type=TimingSimpleCPU -c eratosthenes.riscv -o 100000 TimingSimpleCPU 4190734588 ../gem5/build/RISCV/gem5.opt ../gem5/configs/deprecated/example/se.py \ --cpu-type=MinorCPU --caches -c eratosthenes.riscv -o 100000 MinorCPU 101677897 ../gem5/build/RISCV/gem5.opt ../gem5/configs/deprecated/example/se.py \ --cpu-type=DerivO3CPU --caches -c eratosthenes.riscv -o 100000 DerivO3CPU 69078795
- TimingSimpleCPU 4190734588
- MinorCPU 101677897
- DerivO3CPU 69078795
予想通りのサイクル数比率となった。