エンベデッドシステムスペシャリスト 2011年 午前2 問04
問題文
多重にハードウェア割込みが発生する組込みシステムにおけるISR(Interrupt Service Routine)の処理の説明のうち、適切なものはどれか。
選択肢
ア:ISR処理時間が長い順に高い割込み優先度を与えると、システム全体のリアルタイム応答性が向上する。
イ:ISR処理中に、ほかの割込み要求を抑止する場合は、セマフォを用いる。
ウ:最大割込み処理時間は、すべてのISR処理時間の合計であり、最も優先度の高い割込みが発生してから、そのISR処理の完了までの時間に相当する。
エ:低い優先度の割込みによるISR処理中に割込み禁止を行うと、その間に発生した高い優先度の割込みに対するISR応答時間は長くなる。(正解)
🔒 解説は解答すると表示されます
割込み応答時間とISR【午前2解説】
正解の理由
適切なのはエです。
低い優先度の割込みに対するISR(割込みサービスルーチン)の実行中に割込みを禁止すると、その間は高い優先度の割込みが発生しても、ただちにそのISRを開始できません。割込み禁止が解除されてから処理が始まるため、高優先度の割込みに対する応答時間は長くなります。
解法ステップ
- 割込み優先度が高いほど、一般に優先して処理されることを確認します。
- ただし、割込み禁止中は、優先度にかかわらず割込み処理を開始できません。
- 低優先度のISR処理中に割込みを禁止した場合、高優先度の割込みも待たされます。
- したがって、高優先度の割込みへの応答が遅れるという説明が正しいです。
選択肢別の誤答解説
- ア:ISR処理時間が長いものに高い優先度を与えれば、リアルタイム応答性が向上するとは限りません。優先度は、処理の重要性や期限などを考慮して決めます。実行時間の長いISRを高優先度にすると、ほかの割込みへの応答を妨げる場合があります。
- イ:セマフォは、主にタスク間の同期や排他制御に使う仕組みです。ハードウェア割込み要求を抑止する場合は、割込み禁止などの方法を使います。
- ウ:高優先度の割込みに対する応答時間が、すべてのISRの処理時間の合計になるとは限りません。実際の応答時間は、割込み禁止の時間や、実行中のISRを中断できるかどうかなどに左右されます。
- エ:割込み禁止中は高優先度の割込みもすぐには処理できないため、応答時間が長くなる説明として適切です。
よくある誤解
- 高優先度なら、いつでもすぐに処理される
割込み禁止中など、割込みを受け付けられない状態では、高優先度でも処理開始を待つことがあります。 - ISRの実行時間が長いほど優先度を高くすべき
優先度は実行時間だけで決めるものではありません。長いISRを高優先度にすると、ほかの処理への影響が大きくなることもあります。 - セマフォで割込み要求を止められる
セマフォは主にソフトウェア上のタスク間制御に使います。割込みの受付を止める仕組みとは区別しましょう。
補足コラム
ISRは、ハードウェアからの割込みに応じて実行される処理です。応答性を保つには、ISRをできるだけ短くし、時間のかかる処理はタスク側に任せる設計が一般的です。また、割込み禁止区間を長くすると、その間に発生した割込みの処理が遅れるため、必要最小限に抑えることが重要です。
FAQ
Q. 割込み禁止中に発生した割込みは失われますか?
A. 割込みコントローラやハードウェアの仕様によります。保留され、割込み禁止の解除後に処理される場合もありますが、すべての割込みが必ず記録されるとは限りません。
A. 割込みコントローラやハードウェアの仕様によります。保留され、割込み禁止の解除後に処理される場合もありますが、すべての割込みが必ず記録されるとは限りません。
Q. 高優先度の割込みは、低優先度のISRを必ず中断できますか?
A. いいえ。割込みのネストが許可されており、割込み禁止状態でもない場合など、条件がそろったときに中断できます。システムの設定やハードウェアの仕様によって異なります。
A. いいえ。割込みのネストが許可されており、割込み禁止状態でもない場合など、条件がそろったときに中断できます。システムの設定やハードウェアの仕様によって異なります。
関連キーワード: ISR、ハードウェア割込み、割込み優先度、割込み禁止、応答時間、セマフォ

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

