プロファイラは直観的なユーザ インタフェースと、ハードウェアおよびFast Models上のソフトウェア パフォーマンスの解析を結び付けます。これによって、パフォーマンス解析をすべての組み込みソフトウェア開発者の日常業務における不可欠の要素にすることができます。そうすることで、ソフトウェア プロジェクトのリスクが大幅に削減され、期日どおり、目標どおりのプロジェクトの達成が可能になります。
| 機能 | 利点 |
|---|---|
| 長期間のプロファイリング | 実際の作業負荷を処理しているデバイス ソフトウェアの解析を、必要な長さの期間にわたって実行可能 |
| 完全に最適化されたコードのプロファイリング | 実生産用ソフトウェアを解析して、計測が結果に影響を与えることなく、実際のボトルネックを特定することが可能 |
| ステートメントおよび分岐カバレッジ情報 | ソフトウェア検証の有効性を定量化することで、ソフトウェアの品質を正確に把握 |
| ETMトレースによるハードウェア プラットフォーム プロファイリング | 実際のデバイス上で実行されているソフトウェアを解析 |
| Fast Modelライブラリから6つのモデルを採用 | シリコンの入手以前に、命令に忠実な仮想プラットフォーム上で、最大250 MHzに達するスピードでのソフトウェア解析 |
| 遅延の強調表示 | 命令ごとの準最適なサイクルについてのフィードバックによって、可能な限りの短時間でARMテクノロジ ベースのデバイスを最大限に活用できるように開発者をサポート |
| プロファイル駆動のコンパイル | RVDS 4.1 ProfessionalのARM®コンパイラとともに使用すると、アプリケーションは実行時パフォーマンスが直ちに向上 |
| トレースの再現 | 命令トレースで実行やステップ実行を戻したり進めたりして、特定の遅延の原因個所を調査 |

長期間のプロファイリング
プロファイラは組み込みソフトウェアのパフォーマンスを、ほぼ無制限の期間にわたって解析できるようにします。そのため、現実のユース ケースの解析を行い、ソフトウェアのパフォーマンスの詳細を把握できます。ツールに合わせてユース ケースを短くする必要がなくなるため、長期間動作した後でだけ発生する重要なパフォーマンスの問題点も検出できます。
完全に最適化されたコードのプロファイリング
プロファイラは、組み込みシステムの動作に侵入することなく、パフォーマンス解析を実行し、完全に最適化されたソフトウェアの解析をサポートします。そのため、最終製品の一部として出荷されるものと同じ実生産用ソフトウェアを解析できます。また、解析が結果に影響を与えることもないので、ソフトウェアの実際のボトルネックを特定することが容易です。最終製品が実際の現場でも実験室での計測時と同様に機能するという保証も得られます。
ステートメントおよび分岐カバレッジ情報
プロファイラはステートメント カバレッジ情報と分岐カバレッジ情報の両方を提供しますが、これらは命令カバレッジ情報から派生したものです。テストの有効性を理解することによって、組み込みソフトウェアの品質レベルを定量的に把握できます。プロファイラには複数の解析の実行を1つのレポートにまとめる機能があるので、これを利用してプロファイラを標準の検証環境に適応させることができます。

コード カバレッジ情報を命令レベルでも表示できる機能には、ソース コードを利用できないシステムの部分についてのコード カバレッジ情報も提示できるという利点があります。
ハードウェア プラットフォーム プロファイリング
プロファイラを新しいARM® RVT2™トレース キャプチャ ユニットおよびARM® RVI™実行制御デバッグ ユニットと組み合わせると、ハードウェア ターゲットからの革新的なストリーミング プロファイリングが可能になります。このストリーミング プロファイリング技法により、通常のトレース キャプチャ ユニットのようにオンボード バッファのサイズに依存することがなくなるので、プロファイリングを必要なだけ継続できます。最大400 MHzのクロック周波数で実行されているターゲットをサポートするために、新しいRVT2キャプチャ ユニットはホストPCに専用のUSB2ケーブルで接続しています。プロファイラは、ARM926EJ-S™、ARM946E-S、ARM966E-STM、ARM1136JF-S™、ARM1176JZF-S™、Cortex-A8、Cortex-M3、およびCortex-R4プロセッサ ベースのデバイスと、今後のリリースで追加されるコアをサポートしています。

仮想プラットフォーム プロファイリング
プロファイラは、ARM® Fast Models™ライブラリの、命令に忠実なリアル タイム システム モデルとともに提供されます。これらのモデルには、ARM® Versatile™/EBハードウェア プラットフォームと、ARMプロセッサのARM926EJ-S、ARM1136JF-S、ARM1176JZF-S、Cortex-R4、Cortex-A8、およびCortex-A9(シングル コア)が含まれています。これにより、パフォーマンスおよびコード カバレッジ解析がハードウェアに依存しなくなります。このことは、プリシリコン解析や、互換性のあるハードウェアで非常に便利です。
ARMテクノロジ ベースのデバイスについての高度な知識
プロファイラはARMによって作成されたため、ARMテクノロジ ベースのデバイスと、ARM®コンパイラまたはいずれかのABI準拠のコンパイラで作成されたソフトウェアに関する、他の追随を許さない情報を提供できます。プロファイラからは、次のような情報を得ることができます。
- ソースまたはアセンブリ コードの再構築による最適化が可能なコードの特定を可能にする、すべての命令に関するインターロック情報。
- 最適数以上のサイクルを行う命令を強調表示するサイクル推定量。これによって、メモリ ボトルネックの特定が可能です。
- インターロックおよび最適化サイクル情報に基づく高レベルの表示のための、すべての関数の遅延および効率情報。
- 制御フローの低レベルの表示と、コール チェーンの迅速なナビゲーションのための、すべての処理された分岐(発生したかしなかったか)の詳細情報。
- 最新のコンパイラ最適化技法の知識に基づいて、プロファイラは革新的なリンク済みアセンブリおよびソース コードのビューを提供します。このビューでは、ソース コードと生成された命令とのNxMのリレーションシップが視覚化されます。
この詳細情報によって、ユーザは可能な限りの短時間でARMテクノロジ ベースのデバイスの最大限のパフォーマンスを実現できます。
直観的なユーザ インタフェース
プロファイラは、直観的なユーザ インタフェースを備えています。ユーザはこれを使用すれば、さまざまな学習に時間を取られずに、ソフトウェアを優れたものにするための記述に集中できます。プロファイラが解析したソフトウェアに関して示す情報はトップ ダウンの形式で、概要ビューから始まり、詳細レポートへと展開されます。
概要ビューでは、かかった時間、遅延時間、およびメモリ アクセスの分野で上位の5つの関数が表示され、コード カバレッジについての高レベルの情報が示されます。詳細のビューでは、さらに大量の情報が表示されます。例えば、すべての関数についての詳細統計、ソース コードとそれから派生したアセンブリ コードの詳細情報(パフォーマンスとカバレッジの情報付き)、ダイナミック コール グラフや呼び出し元と呼び出し先の関係を調べるのに役立つ各種のビューなどがあります。

プロファイラは、一般的で業界標準になっているEclipse IDEに統合されています。開発者はこの同じウィンドウで、コードの変更、ビルド、およびプロファイルを行うことができます。
プロファイル ソフトウェアはLinux、Android、およびSymbian OS上で実行
Linux、Android、およびSymbian OS™用のプロファイラは、これらのOSを実行するスマートフォンの組み込みデバイス ソフトウェアのパフォーマンスに関する、比類ない知見を提示します。ARMの包括的なCoreSight™デバッグ&トレース インフラストラクチャに基づき、プロファイラはアプリケーションやシステムを変更することなく、複雑なシステム上のソフトウェアのパフォーマンスを無制限の期間にわたって解析するユニークな機能を提供します。スマートフォンの開発者は、これを使ってメモリと電力の要求を大幅に削減しつつ、卓越したパフォーマンスを実現できます。
プロファイル駆動のコンパイル
実行時のパフォーマンスを解析することで、プロファイラとともに使用されるRVDS 4.1 Professionalのコンパイラは、アプリケーション パフォーマンスに基づく自動最適化を行うことができます。ユーザは何もせずに、パフォーマンスの向上(6%の高速化)とサイズの削減(40%の縮小化)を実現できます。
トレースの再現
プロファイラは、大量のプログラム トレースを収集および格納し、そのトレースをコードや逆アセンブリと同じビュー内で調べられるようになりました。ブレークポイントを設定したり、命令トレースで実行やステップ実行を戻したり進めたりすることで、ユーザはアプリケーションのパフォーマンスについて深く理解し、それに基づいて最適化の努力をどこに向ければよいかを正確に判断できます。




