科目A-2(多肢選択式・四肢択一、25問)
ある組込み機器で、外部センサからの割込みハンドラ内にデータの平滑化処理や通信処理までまとめて実装したところ、他の優先度の高い割込みへの応答が大きく遅延する不具合が発生した。この問題への対応として最も適切なものはどれか。
- A割込みハンドラの優先度をすべて同一に設定し直す
- B割込みハンドラ内でウォッチドッグタイマを無効化する
- ✓割込みハンドラでは必要最小限の処理(データ取得とフラグ設定など)のみを行い、平滑化処理や通信処理はメインループ側の処理に委譲する
- D割込みを常時禁止し、ポーリングだけで全処理を行う方式に変更する
解説
割込みハンドラの処理時間が長いと他の割込みの応答性を悪化させるため、ハンドラ内は必要最小限の処理にとどめ、時間のかかる処理はフラグやキューを介してメインループに委譲するのが定石である。割込みを禁止したりポーリングのみに変更したりする対応は、リアルタイム性や省電力性を損なうため適切ではない。
根拠シラバス:機能仕様とリアルタイム性を最適に実現するハードウェアとソフトウェアのトレードオフに基づく機能分担(割込みハンドラとメインループの役割分担)