リアルタイム制御では処理を開始するタイミングの精度を求められますが、処理の目的そのものは外部接点信号処理など、数命令でごく短時間に処理するものがほとんどであるため、CPUを長時間に渡って占有してしまうものではありません。
またオーバヘッド時間も極限まで短縮しているとともに、規則性さえも計算されているので、INtime®の導入によってWindowsのパフォーマンスが悪化することはありません。
* カーネルティック500usで接点出力制御を実施している例をWindowsパフォーマンスモニタで測定した例。
ハイパースレッド機能で動作するWindows処理(2本)と比較すると、緑色のINtime®リアルタイムスレッドのCPU使用率は限りなく0%に近い状態です。
ハードウェア割り込みレイテンシ測定
ハードウェア割り込み信号発生から、INtime®アプリケーションの割り込みハンドラが開始されるまでの所要時間を測定した結果を掲載します。
- 測定方法
-
- PCIタイプのタイマボードを使用して1ミリ秒毎に割り込みを発生するように指定
- 想定される割り込み発生時刻をゼロとして、そこからの遅延時間をRDTSC CPU命令で算出
- 1000回の測定を行う
- Core™2Duo 2.1GHz
-
- 最小0.83μ秒
- 平均1.25μ秒
- 最大遅延は1.66μ秒
スレッドスイッチングのオーバヘッド時間測定
低優先度スレッドから高優先度スレッドに対するソフトウェアイベント発行の瞬間から実際にエントリするまでに所要した時間を測定した結果を掲載します。
- 測定方法
-
- 低優先度スレッドからセマフォイベントを発行する時点でRDTSC CPU命令で時刻を算出
- 高優先度スレッドがセマフォイベントを受け入れた直後にRDTSC CPU命令で時刻を算出
- 時刻の差を算出
- 1000回の測定を行う
- Core™2Duo 2.1GHz
-
- 最小479.9ナノ秒
- 平均481.9ナノ秒
- 最大遅延487.4ナノ秒