シミュレータは、Dev.BoxのSH4プロセッサの動作を自分のコンピュータ上でシミュレーションするものです。[Memory]リージョンと[Register]リージョンについては実際のDev.Boxを使用します。
[Simulator]リージョンでシングルステップを行うと、カーソルはパイプライン中で現在実行されている命令を指します。シミュレーションの間、PCは現在の命令の先にある命令をフェッチします。
プログラムのフローの変化によって実行されない命令もあります。たとえば、ブランチの後にある命令などです。
![]() |
プロジェクトをシミュレーションすると、各命令がシミュレーション スロット(時間)中に実行されます。シミュレータが進むに従い、このパイプライン動作の次の情報がそのリージョンに表示されます。
アクティブなスロットに関する情報はステータスバーに表示されます。
ステータス | 内容 |
Diagnosis: | ストールの原因とそのタイプ |
Cache: | 読み出し/書き込みのミスがあったときに起こるキャッシュメモリのストール |
System clock: | 現在のカーソル位置までに必要としたプロセッサ動作の全時間 |
![]() |
シミュレータは、パイプラインのあるステージで命令の機能を評価します。 次の命令は、r0に保存されたアドレスから32ビット読み出し、次にその結果をr3にセットするように、プロセッサに指示します。
命令がシミュレートされたスロット(時間)中に実行されると、次の命令ステージがシミュレートされたパイプラインに表示されます:
この命令の実行中に次の操作が行われます。
各スロットによって蓄積されたCPU時間は、動作終了時にプロセッサの状態を表示するためにハイライトで表示されます。種々の色とニーモニックによって、各フェーズのパイプラインのやりとりが示されます。
[Pipeline]リージョンのプロセッサ動作
ある命令からのステージが、前または後の命令のステージと競合状態にある時にストールが発生します。これによりパイプラインの動作が遅くなります。シミュレーションによりプロセッサのパイプラインにストールが表示されることがあります。次のいずれかの方法でストールを除去します。
![]() |
![]() |
シミュレータは、プログラムシミュレーション中の各アセンブラ命令のパイプライン動作に関する情報を生成します。プロセッサパフォーマンスの低下は、すべて[Simulator]リージョンに示す結果に現れます。シミュレーション結果を印刷することもできます(シミュレーションの結果の読み方の例については、シミュレータのチュートリアルを参照してください)。
[←] | [INDEX] | [→] |
(C)SEGA ENTERPRISES, LTD., 1998