IACA (インテル アーキテクチャー コード アナライザー) は、実行時に命令のスケジューリングを計算する静的解析ツールです。最新のインテルプロセッサ。これにより、最適な実行条件下でコード スニペットのスループット、レイテンシ、トレース分析が可能になります。
IACA を使用するには、開始マーカーと終了マーカーをコードに挿入する必要があります。分析したい。これは、C/C で提供されている iacaMarks.h ヘッダーを使用するか、x86 アセンブリで手動で実行できます。
while(cond){ IACA_START /* Loop body */ /* ... */ } IACA_END
mov ebx, 111 ; Start marker bytes db 0x64, 0x67, 0x90 ; Start marker bytes .innermostlooplabel: ; Loop body ; ... jne .innermostlooplabel ; Conditional branch backwards to top of loop mov ebx, 222 ; End marker bytes db 0x64, 0x67, 0x90 ; End marker bytes
マーカーが挿入されると、コードを再構築し、IACA コマンドライン ツールを使用して分析します。構文は次のとおりです。
iaca.sh -64 -arch HSW -graph insndeps.dot foo
このコマンドは、Haswell アーキテクチャ上の 64 ビット バイナリ foo を分析し、命令の依存関係のグラフを生成します。
以上がインテル アーキテクチャ コード アナライザー (IACA) とは何ですか? 命令スケジューリング分析にそれを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。