最悪実行時間解析 TimingProfiler

特徴

1. 実行時間が最悪になるシナリオを自動で抽出

2. バイナリファイルを解析し、関数ごとの最悪実行時間を算出

3. リソース削減

最悪実行時間算出ツールの違い(aiT, TimingProfiler,TimeWeaver)

項目/ツール名 aiT TimingProfiler TimeWeaver
ツールへのInput バイナリファイル バイナリファイル バイナリファイル
トレースログファイル
ツールへのOutput 最悪実行時間
フロー解析結果
最悪実行時間
フロー解析結果
最悪実行時間
フロー解析結果
トレースログのコードカバレッジ
最悪実行時間の精度 結果が保証された最悪実行時間の解析 結果は厳密には保証しない
(最悪実行時間の見積を提示)
結果は厳密には保証しない
(最悪実行時間の見積を提示)
対応CPU シングルコアCPUのみ シングルコアCPUのみ シングルコア、マルチコア両方に対応
機能安全(ツール認定) ツール認定支援キットで
ツール認定プロセスの簡易化が可能
ツール認定支援キットなし ツール認定支援キットなし
価格 高価 安価

スクリーンショット

Input

バイナリ実行可能ファイルを直接分析するため、ツールチェーンやシステムの動作やパフォーマンスを変更する必要はありません。

AIS

分析されたファイルに対する間接関数呼び出しのターゲット、ループ反復回数の上限、再帰の深さ、分析不要なコードスニペット、実行不可能なコードなど、ユーザー注釈を受け入れます。
注釈を別のテキストファイルに出力したり、入力に基づいてそのようなファイルを自動的に生成する、注釈ウィザードを使用することもできます。
注釈は、自動的に情報が検出されない場合(例えば、動的なプログラムプロパティ)にのみ必要です。
必要な注釈の量は、自動ループ境界、配列呼び出し認識など、いくつかの高度な技術で削減することができます。

簡単で使い易い
設定オプションが多くありますが、最初のWCET計算結果を非常に早く得ることができます。注釈による高度な設定は後から追加できます。
動的コールを自動的に解決するための最良の機能は、かなりの幅で確保されています。

Results

計算されたWCETはCPUサイクルとマイクロ秒単位で表示されます。計算された範囲は、すべての入力と実行シナリオに有効です。 分析結果をダブルクリックすると、分析されたアプリケーションのコールグラフが開きます。

Graph

WCET分析結果を含むグラフを呼び出します。各ルーチンには、WCET全体への相対的寄与の注釈が付けられています。ワーストケースの実行パス、実行不可能な呼び出し、および再帰は自動的に認識され、強調表示されます。
また、追加の注釈が付く可能性のある場所を自動的に特定し、印を付けます。さらに、注釈を付けるための最良の表現を提案することもできます。また、ルーチンの制御フローを調べることができます。

CFG

WCET分析結果を含む制御フローグラフ。各エッジには、ワーストケースのトラバーサル最大数とそれが由来する基本ブロックの実行時間が表示されます。 分析されたプログラムの実行不可能な部分(デッドコード)はグレーアウトされています。
別のコンテキストにおけるWCETへの寄与などの分析の詳細は、追加の情報ウィンドウで確認できます。コンテキストメニューを使用すると、グラフ内の任意の場所からCまたはアセンブリコード内の対応する行にジャンプできます。
コールグラフレベルと同じように、追加で注釈が付く可能性のある場所は自動的にマークされ、最適な表現が自動的に提案されるので、数回のクリックだけでそれを承認、変更できます。
各命令について、すべての起こりうるパイプライン状態のセットを検査することができる。

Pipeline

パイプラインとキャッシュの動作を経時的に可視化します。それぞれの水平層は1CPUサイクルに対応します。ツリー内の分岐は、異なる実行シナリオ(例えば、両方のケースを分析しなければならない場合、メモリアクセスでのキャッシュヒットおよびキャッシュミスを)を表します。自動的にすべての可能性チェックします。

1. 開始状態*
2. 中間状態*
3. 終了状態*
4. 状態の説明
5. Flash A
6. Flash B
7. メモリコントローラ
8. L2U
9. フェッチ
10. ディスパッチ
11. 実行する
12. ライトバック
13. デコードバッファ
14. プリフェッチキュー
15. キュー履歴
*:分析対象の命令に関連します。

Stats

さまざまな統計をまとめて見ることができるため、ボトルネックをすばやく特定し、見たい分野を簡単に探索できます。

Sections

すべてのバイナリセクションを表示して、16進エディタのように値を調べることができます。また、特定のアドレス領域のメモリの値を調べることもできます。

Add-On

ValueAnalyzerアドオンを使用すると、実行コンテキストの任意のプログラムポイントで、全てのレジスタとメモリの値を調べることができます。また、グローバル変数の初期化データを収集し、それを自動生成された注釈としてWCET分析に送ることもできます。

サポート対象

TimingProfilerは現在、以下のプロセッサとコンパイラの組み合わせで利用することができます。

プロセッサ コンパイラ
ARM ARM
CompCert (INRIA/AbsInt)
Diab (WindRiver), C or Ada
GCC
Green Hills MULTI for ARM, C or Ada
IAR
HighTec LLVM/Clang
Keil MDK-ARM
TASKING (Altium)
TI (Texas Instruments)
LEON2,LEON3 GCC
GNAT
LLVM/Clang
PowerPC CodeWarrior (Freescale)
CompCert (INRIA/AbsInt)
Diab (WindRiver) ,C or Ada
GCC
GHS (Green Hills), C or Ada
HighTec GCC
TriCore, incl. AURIX Diab (WindRiver)
GCC
HighTec GCC
TASKING (Altium)
V850, RH850 GHS (Green Hills)
Diab (WindRiver)

・以下はTimingProfilerの一般的なバージョンは利用可能です。
 Am486、 C16x、 ST10、C28x、C33、<NEW>dsPIC33E、ERC32、FR81S
 HCS12、i386DX、M68k、MCS 51、<NEW>MCS251、MSP430(x)
 Renesas RX、Renesas SuperH、S12Z、x86
・Windows 64bitとLinux 64bitをサポートしています。
・他のプロセッサとコンパイラの組み合わせのバージョンは開発中または、要望に応じて開発いたします。
・macOSのサポートも要望に応じて利用可能です。 ※追加料金あり
・30日間無料でTimingProfilerを試すことができます。

お問い合わせコチラまで

最新情報はAbsIntのHPをご参照ください。

他社ツール連携

SCADE Suite

安全性を重視した組み込みソフトウェア開発環境であるSCADE Suiteで利用でき、このツール内でTiming Profilerは、Timing and Stack Optimizerと呼ばれています。

Jenkins

主要なオープンソース自動化サーバーであるJenkinsに、継続的インテグレーションするためのプラグインも提供しています。

Movie

AbsInt Videocast for Release 19.04: TimingProfiler, StackAnalyzer, TimingProfiler, TimeWeaver, ValueAnalyzer
ライセンス管理の改良点、相互参照分析の結果、全プロジェクトの検索、DWARFの検索、TimeWeaverの改良点、全エントリポイントの値分析

AbsInt Webinar for Release 18.10: TimingProfiler, StackAnalyzer, TimingProfiler, TimeWeaver, ValueAnalyzer
ライセンス管理の改良点、相互参照分析の結果、全プロジェクトの検索、DWARFの検索、TimeWeaverの改良点、全エントリポイントの値分析

TimingProfiler – Product Demo
TimingProfilerの操作説明

AbsInt Webinar for Release 18.04: TimingProfiler, StackAnalyzer, TimingProfiler, TimeWeaver, ValueAnalyzer
AISの注釈(値のパーティショニング、DWARFビューから呼び出し対象への注釈付け)、トレース反復デコード、GUI改良点、TimeWeaver改良点

AbsInt Webinar for Release 17.10: TimingProfiler, StackAnalyzer, TimingProfiler, TimeWeaver, ValueAnalyzer
フローティングライセンス、同時分析、C++のVirtual Call Target Analyzer、C++型継承グラフ、サブグラフの除外、TimeWeaverのハイブリッドWCET分析

AbsInt Webinar for Release 17.04: TimingProfiler, StackAnalyzer, TimingProfiler, ValueAnalyzer
状況依存ヘルプ、新規AISファイルビュー、コードスニペットのタイミング寄与のための新しい統計ビュー、AIS2スタンダードモード vs AIS1レガシーモード、サポート要求のためのプロジェクトアーカイブ作成の改良点、ローカル呼び出し文字列の増加、再帰関数の展開、既約ループと再帰、C++ネームスペースのサポート

AbsInt Webinar for Release 16.10: TimingProfiler, StackAnalyzer, TimingProfiler, ValueAnalyzer
ワークスペースについて、注釈の追加、プロジェクトファイルジェネレータ、スタック領域指定、Jenkinsプラグイン、AIS注釈の拡張、初期化の収集、注釈付きの末尾呼び出し、新しいファンクターの終了とオフセット

AbsInt Webinar for Release 16.04: TimingProfiler, StackAnalyzer, TimingProfiler, ValueAnalyzer
自動変数初期化分析、高度なC ++のサポート、AIS2の新機能、メモリ使用量ビュー、ORTIファイルのインポート(OSEK / AUTOSAR)

ご相談・ご質問等ございましたら、
お気軽にお問い合わせください。

株式会社ヴィッツ
〒460-0008 
名古屋市中区栄2-13-1名古屋パークプレイス 1F
TEL (052)220-1218 / FAX (052)218-5855