Simulator - onikiri/onikiri2 GitHub Wiki
-
<Simulator>では,シミュレーションに関わる設定を行う- シミュレーションを行う命令数やモード
- シミュレーション対象となる各リソースの初期化パラメータや,生成個数,接続情報などの設定
-
<Simulator>は,以下のノードを持つ
<Simulator Configuration='DefaultConfiguration'>
<Configurations/>
<Caches/>
<System/>
<TimeWheelBase/>
<System>
-
<Configurations>の子ノードのうち,使用するノードの名前を指定
- シミュレーション対象となる各リソースの初期化パラメータや,生成個数,接続情報などの設定を行う
- 詳細は仕様/その他/リソースの生成と接続を参照
- 整数<>浮動小数点の変換に必要なレイテンシを設定
動作モードの指定を行う
-
Emulation- エミュレーションのみを行う
-
Simulation- サイクルアキュレートなシミュレーションを行う
-
Inorder- シミュレータ側で命令を解釈してインオーダに実行を行う
- 分岐予測やキャッシュのみのシミュレーションを行いたい場合は,これをベースにすると良い
-
SkipByInorder- 後述する命令のスキップをInorder で行う
- インオーダ実行でキャッシュをあっためて起きたい場合などに使用すると良い
-
CreateEmulationTrace- エミュレーションのトレースを出力
- デバッグ用
のいずれかを指定
- シミュレーションを行うサイクル数を指定
-
0であった場合は@SimulationInsnsが使用される
- シミュレーションを行う命令数を指定
-
0であった場合は@SimulationCyclesが使用される
-
@ModeがSimulationであった場合,ここで指定した命令数をEmulation によって実行したのち,@SimulationCyclesか@SimulationInsnsで指定した命令数のシミュレーションを行う
- TimeWheelのサイズを指定