平成26年度 高度共通 午前I(PM試験) 問4
メイン処理,及び表に示す二つの割込みA,Bの処理があり,多重割込みが許可されている。割込みA,Bが図のタイミングで発生するとき,0ミリ秒から5ミリ秒までの間にメイン処理が利用できるCPU時間は何ミリ秒か。ここで,割込み処理の呼出し及び復帰に伴うオーバヘッドは無視できるものとする。

- ア 2
- イ 2.5
- ウ 3.5
- エ 5
解答・解説を見る
正解:ア
AI解説
正解はア(2ミリ秒)。多重割込みが許可されているので、優先度の高い割込みは実行中の割込み処理にも割り込んで先に処理される。しかし割込み処理の合計時間自体は変わらないため、0〜5ミリ秒の間に割込みA・Bの処理へ費やされるCPU時間の合計を図から積み上げると3ミリ秒となり、メイン処理が使えるのは5−3=2ミリ秒である。 ア: 正解。5ミリ秒からA・Bの割込み処理時間の合計3ミリ秒を差し引いた残り2ミリ秒がメイン処理に割り当てられる。 イ: 2.5ミリ秒は割込み処理時間の一部を数え漏らした場合の誤答である。発生した全ての割込みの処理時間を合算する必要がある。 ウ: 3.5ミリ秒は逆に割込み処理の合計を過小に見積もった誤りで、割込みの入れ子(多重割込み)でも処理時間の総量は減らない。 エ: 5ミリ秒はメイン処理が全く中断されないとした場合であり、割込みが発生している以上あり得ない。 💡 多重割込み問題は「優先度は実行順序を変えるだけで、CPU時間の総消費量は変えない」と押さえると、タイムチャートを厳密に描かなくても合計時間の引き算で解ける場合が多い。
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。