6-4-2 パイプラインのストール

ある命令からのステージが、前または後の命令のステージと競合状態にある時にストールが発生します。これによりパイプラインの動作が遅くなります。シミュレーションによりプロセッサのパイプラインにストールが表示されることがあります。次のいずれかの方法でストールを除去します。

注意
命令ステージと実行状態の競合に関する詳細については、日立7091シリーズのプログラミングマニュアルを参照してください。
//table1[|l(5w)|l(18w)|l|][|l(5w)|l(18w)|l|]{ シミュレータが識別できるパイプライン命令ストール //kb 記号 ストール種類 可能な場合のパイプラインスピード改善法 //kb − 自動 自動ストールについては何もできません。例: TAS、TRAP A、RTE //kb = マルチプライヤアクセス(命令順によるストール) マルチプライヤを使用する命令を連続して配置しない //kb ~ メモリアクセスに伴うレジスタライトバック(命令順によるストール) メモリからのロードを伴う命令に続く命令がロード命令と同じデスティネーションレジスタを使用しないようにする。 //kb > メモリアクセスに伴う命令フェッチ(命令の整列によるストール) MAステージを持つ命令をオンチップメモリのロングワード境界から開始するように配置する(可能な場合)。 //kb //table1}
注意
パイプライン命令のストールに関する詳細については、日立7091シリーズのプログラミングマニュアルを参照してください。

6-4-3 シミュレーションの結果を読む

シミュレータは、プログラムシミュレーション中の各アセンブラ命令のパイプライン動作に関する情報を生成します。プロセッサパフォーマンスの低下は、すべて[Simulator]リージョンに示す結果に現れます。シミュレーション結果を印刷することもできます(シミュレーションの結果の読み方の例については、シミュレータのチュートリアルを参照してください)。


6-5 プログラムファイルのプロファイル


プロファイラは日立SHシリーズのプロセッサ用に書かれたプログラムファイルの実行時の振る舞いを調べる強力な解析ツールです。

プロファイラを使うことによって、プログラムにどれだけ時間がかかっているか、関数が実行時にどう呼ばれているかがわかります。難解なコードを解析し、プロファイラが生成する情報を使用することができます。

c0604001.gif

注意
正確な結果を得るためには、あらかじめDACHECKを実行してキャッシュをオフにします。 プロファイラとシミュレータは同時に実行してはいけません。

プロファイラを開く