エンベデッドシステムスペシャリスト 2013年 午前2 問05
問題文
多重にハードウェア割込みが発生する組込みシステムにおけるISR(Interrupt Service Routine)の処理の説明のうち、適切なものはどれか。
選択肢
ア:ISR処理時間が長い順に高い割込み優先度を与えると、システム全体のリアルタイム応答性が向上する。
イ:ISR処理中に、他の割込み要求を抑止する場合は、セマフォを用いる。
ウ:最大割込み処理時間は、全てのISR処理時間の合計であり、最も優先度の高い割込みが発生してから、そのISR処理の完了までの時間に相当する。
エ:低い優先度の割込みによるISR処理中に割込み禁止を行うと、その間に発生した高い優先度の割込みに対するISR応答時間は長くなる。(正解)
🔒 解説は解答すると表示されます
割込み応答時間とISR【午前2解説】
正解の理由
ISR(Interrupt Service Routine)は、ハードウェア割込みが発生したときに実行される割込み処理です。
エのとおり、低い優先度の割込みに対するISRの実行中に割込みを禁止すると、その間は高い優先度の割込みが発生しても、すぐにISRを開始できません。そのため、高優先度の割込みに対する応答時間は長くなります。
割込みを禁止している間に発生した要求は、割込み禁止を解除した後に処理されることがあります。ただし、割込みの保持方法はハードウェアや設定によって異なります。
解法ステップ
- ISRの処理中に、ほかの割込みを受け付けるかどうかに注目します。
- 割込み禁止中は、優先度の高い割込みであってもISRを開始できないと考えます。
- 高優先度の割込みへの応答が遅れる説明であるエを選びます。
選択肢別の誤答解説
-
ア:誤りです。
ISRの処理時間が長いものほど高い優先度を与える、という考え方は適切ではありません。長いISRが高優先度で頻繁に実行されると、ほかの割込みへの応答を遅らせるおそれがあります。優先度は、処理の緊急性や期限などを考慮して決めます。 -
イ:誤りです。
セマフォは、主にタスク間の同期や資源の排他制御に使います。割込み要求を抑止するための一般的な手段ではありません。割込みを受け付けない区間を設ける場合は、割込み禁止機能などを使います。 -
ウ:誤りです。
最も優先度の高い割込みに対する応答時間が、すべてのISRの処理時間の合計になるとは限りません。応答時間は、割込み禁止区間や実行中の処理、割込みの優先度、割込みの入れ子を許可するかどうかなどに左右されます。 -
エ:適切です。
低優先度ISRの処理中に割込みを禁止すると、その間に発生した高優先度割込みもすぐには処理できません。したがって、高優先度割込みへの応答時間は長くなります。
よくある誤解
-
優先度が高ければ、どんな状況でもすぐ処理されると思い込む
割込みが禁止されている間は、高優先度でも処理を開始できません。 -
セマフォを割込み制御にも使えると思い込む
セマフォは主にタスク間の同期に使う仕組みです。割込みの受付制御とは区別して考えます。 -
割込み応答時間をISRの実行時間だけで考える
割込みが発生してからISRが開始・完了するまでの時間には、割込み禁止や先行処理などの影響も含まれます。
補足コラム
割込み禁止区間は、共有データの更新などを保護する目的で使われることがあります。一方で、禁止区間が長いほど、緊急性の高い割込みへの応答が遅れる可能性があります。そのため、割込み禁止の範囲は必要最小限にすることが重要です。
また、割込みの入れ子を許可するシステムでは、実行中のISRより優先度の高い割込みが到着した際に、そのISRを中断して処理できる場合があります。ただし、割込み禁止中は入れ子による割込みもできません。
FAQ
Q. 低優先度ISRの実行中でも、高優先度割込みにすぐ切り替えられますか?
A. 割込みの入れ子が許可され、割込みが禁止されていなければ、切り替えられる場合があります。割込み禁止中は切り替えられません。
A. 割込みの入れ子が許可され、割込みが禁止されていなければ、切り替えられる場合があります。割込み禁止中は切り替えられません。
Q. 割込み応答時間とは何ですか?
A. 割込み要求が発生してから、対応する処理が開始されるまでの時間を指します。割込み処理の完了までを含めて評価する場合もあるため、問題文での定義を確認してください。
A. 割込み要求が発生してから、対応する処理が開始されるまでの時間を指します。割込み処理の完了までを含めて評価する場合もあるため、問題文での定義を確認してください。
Q. セマフォでISRを排他制御できますか?
A. セマフォは主にタスク間の同期に用います。ISR内での利用には制約があるため、割込み禁止やアトミック操作など、システムに適した方法を使います。
A. セマフォは主にタスク間の同期に用います。ISR内での利用には制約があるため、割込み禁止やアトミック操作など、システムに適した方法を使います。
関連キーワード: ISR、ハードウェア割込み、割込み優先度、割込み禁止、割込み応答時間、セマフォ

\ せっかくなら /
エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

