FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

gem5 101 Homeworkをやってみる (2. 各モデルのサイクル数調査)

gem5への理解を深めるために、以下のネット上に公開されている課題をやってみようと思う。

www.gem5.org

次に、少し小さなサイクル数で、各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

予想通りのサイクル数比率となった。