応用情報技術者 2014年 春期 午前2 問09
問題文
メイン処理、及び表に示す二つの割込みA, Bの処理があり、多重割込みが許可されている。割込みA, Bが図のタイミングで発生するとき、0ミリ秒から5ミリ秒までの間にメイン処理が利用できるCPU時間は何ミリ秒か。ここで、割込み処理の呼出し及び復帰に伴うオーバヘッドは無視できるものとする。割込み処理時間(ミリ秒)割込み優先度A 0.5高B 1.5 低

選択肢
ア:2(正解)
イ:2.5
ウ:3.5
エ:5
メイン処理のCPU時間計算【午前2 解説】
要点まとめ
- 結論:0~5ミリ秒間にメイン処理が利用できるCPU時間は2ミリ秒です。
- 根拠:割込みA(高優先度0.5ms)と割込みB(低優先度1.5ms)が多重割込みで発生し、割込み処理時間を差し引く必要があります。
- 差がつくポイント:割込みの優先度と発生タイミングを正確に把握し、割込み処理の重なりを考慮してCPU時間を計算することが重要です。
正解の理由
割込みBは0msと5msに発生し、処理時間は1.5msです。割込みAは1ms、2ms、3msに発生し、それぞれ0.5msの処理時間で高優先度のため割込みBの処理を中断します。
0~5msの間に割込み処理が占める時間を合計すると3ms(Bの1.5ms + Aの0.5ms×3回)となり、残りの2msがメイン処理に割り当てられます。よって正解はアの2ミリ秒です。
0~5msの間に割込み処理が占める時間を合計すると3ms(Bの1.5ms + Aの0.5ms×3回)となり、残りの2msがメイン処理に割り当てられます。よって正解はアの2ミリ秒です。
よくある誤解
割込み処理時間を単純に足し合わせず、優先度による割込みの中断や重複を考慮しない誤りが多いです。
また、割込みの発生タイミングを見落とし、全時間をメイン処理時間と誤認することもあります。
また、割込みの発生タイミングを見落とし、全時間をメイン処理時間と誤認することもあります。
解法ステップ
- 割込みの発生タイミングを図から確認する(B:0ms,5ms、A:1ms,2ms,3ms)。
- 割込みの優先度を把握し、高優先度Aが低優先度Bを中断可能と理解する。
- 各割込み処理時間を合計する(Bは1.5ms×2回、Aは0.5ms×3回)。
- 割込み処理の重なりを考慮し、実際にCPUを占有する時間を計算する。
- 5msから割込み処理時間の合計を引き、メイン処理のCPU時間を求める。
選択肢別の誤答解説
- イ(2.5ms):割込み処理時間の合計を過小評価し、割込みの重複や優先度を考慮していません。
- ウ(3.5ms):割込み処理時間を過大評価し、メイン処理時間を誤って多く見積もっています。
- エ(5ms):割込み処理を無視し、全時間をメイン処理に割り当てる誤りです。
補足コラム
多重割込みが許可されている場合、高優先度の割込みが低優先度の割込み処理を中断し、優先度の高い処理を優先的に実行します。これによりCPU時間の配分が複雑になるため、割込みの発生順序と優先度を正確に把握することが重要です。
FAQ
Q: 割込み処理のオーバヘッドが無視できるとはどういう意味ですか?
A: 割込みの呼出しや復帰にかかる時間を考慮せず、純粋に処理時間だけで計算するという意味です。
A: 割込みの呼出しや復帰にかかる時間を考慮せず、純粋に処理時間だけで計算するという意味です。
Q: 割込みAが複数回発生しても処理時間は加算してよいですか?
A: はい。各割込み発生ごとに処理時間が必要なので、合計して計算します。
A: はい。各割込み発生ごとに処理時間が必要なので、合計して計算します。
関連キーワード: 多重割込み、CPU時間計算、割込み優先度、割込み処理時間、割込みタイミング

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

