平成25年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問5
テクノロジ/コンピュータ構成要素多重にハードウェア割込みが発生する組込みシステムにおける ISR(Interrupt Service Routine)の処理の説明のうち,適切なものはどれか。
出典:平成25年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問5
- アISR 処理時間が長い順に高い割込み優先度を与えると,システム全体のリアルタイム応答性が向上する。
- イISR 処理中に,他の割込み要求を抑止する場合は,セマフォを用いる。
- ウ最大割込み処理時間は,全ての ISR 処理時間の合計であり,最も優先度の高い割込みが発生してから,その ISR 処理の完了までの時間に相当する。
- エ低い優先度の割込みによる ISR 処理中に割込み禁止を行うと,その間に発生した高い優先度の割込みに対する ISR 応答時間は長くなる。
正解:エ
解説
割込み優先度の与え方や割込み禁止の使い方は,リアルタイムシステムの応答性に直接影響します。低い優先度のISR実行中に割込みを禁止すると,その禁止期間中に発生した高い優先度の割込みへの応答が,禁止解除まで遅延するため,高優先度割込みに対するISR応答時間は長くなります。ISR処理時間の長さで優先度を決める方法や,ISR内でタスク間排他用のセマフォを用いる方法は,リアルタイム性や割込み処理の性質上,適切ではありません。
選択肢ごとの解説
- ア誤り。ISR処理時間が長い順に高い優先度を与えると,処理時間の長い割込みが他の割込みを長く待たせることになり,システム全体のリアルタイム応答性はむしろ低下するおそれがあります。
- イ誤り。割込みの抑止(禁止)には割込み禁止/許可の命令や割込みマスクを用いるのが一般的です。セマフォはタスク間の排他制御に用いるものであり,待ち状態に入る可能性がある操作をISR内で行うことは避けるべきとされています。
- ウ誤り。最大割込み処理時間(応答時間)は割込みの優先度によって異なります。最も優先度の高い割込みは他の割込みに妨げられず直ちに実行されるため,全てのISR処理時間の合計にはなりません。
- エ正しい。低い優先度の割込みのISR処理中に割込み禁止を行うと,禁止されている間に発生した高い優先度の割込みは即座に処理されず,禁止が解除されるまで応答が遅れるため,ISR応答時間は長くなります。