4

コース プロジェクトの一環として、C++ コードの一部のパフォーマンスを分析し、コードの実行中にコンピューター アーキテクチャ (MIPS または x86) のどの部分が最も多く使用され、パフォーマンスのボトルネックになっている可能性があるかを調べる必要があります。パフォーマンスを分析するためにさまざまなプロファイラーを調べていて、素晴らしいツールであるSimpleScalarに出会いましたが、残念ながら C コードでしか機能しません。

私はMIPS アーキテクチャに精通しているので、SimpleScalar のような MIPS 用の C++ コードをシミュレートおよびプロファイリングするためのツールがあれば素晴らしいと思います。分岐、キャッシュ、命令セット、アドレッシング モードなどのパフォーマンスに重要な部分を調べています。そうでない場合は、x86 アーキテクチャに対して同様の種類の分析を実行できるツールについて言及することも重要です。

(明確にするために、私は古いプロファイラーを探しているのではなく、CPU のマイクロアーキテクチャを理解し、CPU のどの部分が利用されているか、または十分に活用されていないかを知っているプロファイラーを探しています。)

4

3 に答える 3

3

CACTIには、キャッシュの詳細な低レベルシミュレーションがあります。

SESCは、 MIPSをサポートするサイクル精度の高いコンピュータアーキテクチャシミュレータです。SESCにはCACTIが含まれています。

于 2012-11-23T05:52:09.507 に答える
0

私の理解では、SimpleScalar は、コンパイルされた元の言語に関係なく、MIPS マシン コードをシミュレートおよびプロファイリングできます。(SimpleScalar に付属しているソースレベルのデバッガー「DLite!」は、いくつかの言語しかサポートしていない可能性がありますが、コードを「デバッグ」する必要はないようです。)

于 2012-11-23T05:53:01.910 に答える
0

あなたが望むことが可能であるとは思えません。言語は C++ ですが、ターゲット アーキテクチャに合わせてコンパイルする必要があります。最適化 (または最適化の欠如) によって、キャッシュの使用などの多くのパフォーマンス基準が決まります。そのため、マシン レベルのプロファイラーを探す必要があると思います (コンパイラのデバッグ形式をサポートしていることを願っているので、ソース コードが表示されます)。環境)。

于 2012-11-22T21:45:50.473 に答える