Task Execution Time (TET) とはなんですか?ターゲット PC の何を測定しているのですか?
4 views (last 30 days)
Show older comments
MathWorks Support Team
on 6 Jan 2012
Commented: guygyuggfff
on 17 Jun 2021
xPC Target の Task Execution Time (TET) はモデルの実行の所要時間とのことですが、具体的にどのような処理が対象かを教えてください。
Accepted Answer
MathWorks Support Team
on 25 Oct 2018
Task Execution Time (TET) 以外の時間、ターゲット PC のプロセッサはアイドル状態であると誤解されがちですが、そうではありません。たとえば、モデルのサンプル時間が 100 マイクロ秒として動作し、その際の平均 TET が 40 マイクロ秒のとき、プロセッサは 60 マイクロ秒間アイドル状態であるということではありません。一見、アイドル状態である時間には、プロセッサはバックグラウンド処理(ターゲット PC 上のグラフ等の描画の更新、ホストマシンとの通信等)を行っています。
xPC Target のカーネルは、バックグラウンド処理よりも高い優先順位でフォアグラウンド処理(モデルの正常な実行のために必要なタスク)を実行します。このような理由から、優先順位の高いフォアグラウンド処理は、バックグラウンド処理よりも優先して実行され、バックグラウンド処理の一部を阻止する(実行させない)ことができます。たとえば、ターゲット PC のグラフ表示がなめらかではなく途切れる、パラメーターチューニングの遅れ、TCP/IP によるホスト-ターゲット通信の読み取りエラーなどがあります。
フォアグラウンド処理はモデルの実行のほとんどを含みますが、すべてのフォアグラウンド処理が TET に含まれているわけではありません。TET のフォアグラウンド処理に含まれるものは以下の通りです。
TET に含まれるもの
- I/O デバイスアクセス時の待ち時間
- データロギング(リアルタイムタスクで発生する部分)。これは Scope にキャプチャされたデータを含みます。
- 待ち時間を更新するパラメータ(たとえば、"コンフィギュレーションパラメータ > xPC Target オプション > ダブルバッファパラメータの変更" にチェックが入っている場合)
TET に含まれないもの
- TET を測定する時間
- モデルを 1 ステップずつ実行させるための割り込み時間
バックグラウンド処理はモデルの実行には直接関係ないため、TET には含まれていません。これらは以下の通りです。
- ホスト PC との通信(TCP/IP またはシリアル通信)
- グラフィックス(ターゲット PC 上でのグラフ描画)
- UDP 通信
TET ログには不可解なスパイクが含まれる可能性があります。考えられるスパイクの原因は以下の通りです。
- BIOS のパワーセーブオプションがオンになっている
- BIOS で USB コントローラーがオンになっている
- モデル実行時の開始時に状態をメモリにロードしている
TET のスパイクを回避するために、ターゲット PC の BIOS の設定を行います。設定は MATLAB ヘルプドキュメンテーションの "xPC Target > Troubleshooting > xPC Target and the Target PC BIOS" をご覧ください。
0 Comments
More Answers (0)
See Also
Categories
Find more on Real-Time Signal Logging and Streaming by Using MATLAB in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!