3.3.1. サンプリングレートの設定

サンプリングレートを使用すると、現在どの命令が実行されているかをレポートする頻度を RealView Trace 2 データキャプチャユニットに対して指定できます。 ARM プロファイラでは、命令が実行されるたびにログに記録されるので、サンプリングレートを設定しても、レポート対象コールチェーンシーケンスの精度は影響を受けません。 ただし、ARM プロファイラでは、どの命令が実行されているかがサンプリングレートによって指定された間隔でレポートされるので、各命令の実行時間を測定する際の精度が影響を受けます。 デフォルト値の 1021 を設定すると、RealView Trace 2 は 1021 サイクルバウンダリごとに命令をレポートするようになります。 サンプリングレートの値を大きくすると、トレースポートが過剰な量のデータでオーバーフローするのを防ぐことができる一方、値を小さくするほど、精度の高いタイミング値を生成できるようになります。

1 ~ 1024 の任意の整数値をフィールドに直接入力することも、サンプリングレートのドロップダウンメニューを使用して、プロファイリング実行のサンプリングレートを以下のいずれかのプリセット値に設定することもできます。

Note

  • トレースポートオーバーフローのリスクを軽減するため、デフォルトのサンプリングレートは 1021 に設定されています。

  • 実行された命令がよりランダムにサンプリングされるよう、ドロップダウンメニューには素数が自動的に挿入されます。 これにより、1 とその数以外の値でも割り切れるサンプリングレートが実行ループと一致するのを防ぐことができます。 一部のターゲットでは、設定できるサンプリングレートに容量面の制限があります。

[サイクル精度]に設定すると、全命令のサイクル数が記録されるので、精度が最高になります。 ARM プロファイラでは、[サイクル精度]がそれに対応していないターゲットに対して選択されている場合、サポートされている最小の値にサンプリングレートが設定され、「このターゲットにはサンプリングレート 1 を設定できません。16 が使用されます」という内容のメッセージが表示されます。

サンプリングレートを[推定]に設定すると、トレースポートの幅が狭い場合にパフォーマンスが最大化されますが、サンプリングは無効になります。 ARM プロファイラでは、RTSM を使用したプロファイリングと同様に、命令の型に基づいて各命令の実行時間が推定され、これらの推定値に基づいてタイミングデータがレポートされますが、実際のハードウェア低速動作は認識できません。 また、サンプリングより精度が低く、どの命令の実行に予想より時間がかかっているかを把握することもできません。

Note

[推定]オプションは、ETM(Embedded Trace Macrocell)ポートのサイクル精度モードを使用しないので、幅の狭い ETM ポートと共に使用してオーバーフローを軽減できます。

Note

Cortex-M3 では、サンプリングレートとして 64 または 1024 を設定できます。ARM プロファイラでは、このドロップダウンメニューで選択された数字に基づいて、これら 2 つの値のいずれかが使用されます。 64 より小さい値はすべて 64 に変換され、64 より大きい値はすべて 1024 に変換されます。Cortex-M3 では、サンプリング設定として[推定]を選択できません。

Copyright © 2007, 2008 ARM Limited. All rights reserved.ARM DUI 0414CJ
Non-Confidential