Embedded Test 14 · タイミングとリアルタイム性を測る — 「速さ」と「揺れ」

Chapter 14

タイミングとリアルタイム性を測る — 「速さ」と「揺れ」

この章のゴール.

組み込みで機能と同じくらい重要な「いつ・どれだけ速く・どれだけ揺れずに」応答するかを、 外から測る方法をつかむこと。レイテンシ・ジッタ・デッドライン・スループットという指標と、 それらを測るための刺激と観測の当て方を理解する。

この章で使う既出の用語(定義は各リンク先). オラクル(01 章 8 節)、ブラックボックステスト(01 章 1 節)、刺激(02 章 1 節)、電源(02 章 2 節)、オシロ(04 章 8 節)、UART(05 章 1 節)、並行接続(10 章 4 節)、キャプチャ(13 章 3 節)

1. 「正しい値」だけでは足りない

生成 AI 製ファームは、値としては正しくても遅すぎる・たまに大きく遅れることがよくある。リアルタイム系(モータ制御、通信、センサ融合)では、遅れや揺れそのものが不具合になる。ブラックボックステストは、機能に加えて時間特性を測らねばならない。

まず言葉を揃える。

レイテンシ=刺激の時刻と応答の時刻の差刺激応答レイテンシ刺激と応答の両方に正確な時刻を打つ。オシロ/GPIO トグルが最精度
図14-1 レイテンシの測り方。

2. どう測るか — 刺激と観測に「時刻」を打つ

レイテンシは「刺激の時刻」と「応答の時刻」の差である。だから鍵は、両方に正確な時刻(タイムスタンプ)を打つこと。精度の高い順に:

大原則: 測定系の精度が対象の要求より粗いと、揺れの原因が「対象」か「測定」か分からなくなる。まず測定系の下限(分解能・自分のジッタ)を把握する。

3. ジッタを見る — 一発でなく分布で

レイテンシは 1 回測っても意味が薄い。何千回測って分布を見る。

1 回でなく分布で見る——平均より「最悪値と裾」に注目レイテンシ回数まれな大遅延=本命中央値裾の長い分布は割り込み競合・ロック・電源管理(スリープ復帰)を疑う手がかり
図14-2 レイテンシのヒストグラムと裾。

平均 2 ms・最悪 50 ms のような裾の長い分布は、割り込み競合・GC 的な処理・ロック・電源管理(スリープ復帰)を疑う手がかりになる。

4. 観測が対象を乱す — ハイゼンベルク問題

時間を測るときの最大の罠が、観測行為そのものが対象のタイミングを変えることである。

対策は「乱さない観測」を選ぶこと: GPIO トグル+オシロ(ほぼゼロ負荷)、SWO/RTT(08 章、低侵襲)、受動キャプチャ(06 章・11 章)。測るために足したものが、測りたいものを変えていないかを常に疑う。

5. 負荷をかけて測る — スループットと劣化

軽い状態で速くても、込み合うと崩れるのが組み込みの常。刺激側で負荷を上げながら測る。

6. 何をオラクルにするか

7. 手を動かす

レイテンシとジッタを可視化する


この章のポイント