エンベデッドシステムスペシャリスト 2015年 午前2 問01
問題文
内部割込みの要因として、適切なものはどれか。
選択肢
ア:DMA転送が完了した。
イ:インターバルタイマが満了した。
ウ:演算がオーバフローした。(正解)
エ:電源電圧の低下を検出した。
🔒 解説は解答すると表示されます
内部割込みの要因【午前2解説】
正解の理由
内部割込みとは、命令の実行中にCPU内部で発生する例外的な事象を通知する割込みです。演算結果が扱える範囲を超えるオーバフローは、命令の実行によって発生するため、内部割込みの要因です。
したがって、正しいのはウです。
解法ステップ
- 割込みの発生源に注目します。
- 命令の実行に伴ってCPU内部で発生するものを探します。
- 演算結果のオーバフローは、演算命令の実行中に検出されるため、内部割込みに分類します。
- DMA転送の完了やタイマの満了など、装置やタイマから通知されるものは外部割込みとして区別します。
選択肢別の誤答解説
- ア:DMA転送の完了は、DMAコントローラなどの装置から通知される事象です。内部割込みではありません。
- イ:インターバルタイマの満了は、タイマによって通知される事象です。命令の実行結果ではないため、内部割込みではありません。
- ウ:演算のオーバフローは、CPUが命令を実行した結果として発生する例外です。内部割込みの要因です。
- エ:電源電圧の低下は、電源やハードウェアによって検出される事象です。CPUの命令実行に起因する内部割込みではありません。
よくある誤解
- 「CPUが検出する割込みはすべて内部割込み」と考えないようにしましょう。CPUが受け付ける割込みでも、装置からの通知が発生源なら外部割込みです。
- タイマがCPU内部に組み込まれている場合でも、試験ではタイマ満了を命令実行中の例外とは区別して扱います。
- オーバフローは単なる計算ミスではなく、演算命令の実行時に検出される例外です。
補足コラム
内部割込みは、命令の実行に関連して発生するため、同期的な例外として扱われます。代表例には、オーバフロー、ゼロ除算、不正な命令の実行などがあります。一方、入出力装置からの通知やタイマ満了などは、実行中の命令とは独立して発生する外部割込みです。
FAQ
Q. 内部割込みは、プログラムの誤りがあるときだけ発生しますか?
A. いいえ。ゼロ除算などの誤りに関連する場合のほか、処理系が定める例外的な事象でも発生します。
A. いいえ。ゼロ除算などの誤りに関連する場合のほか、処理系が定める例外的な事象でも発生します。
Q. 割込みの種類は、発生した場所で判断すればよいですか?
A. 発生場所だけでなく、発生原因が命令の実行に伴うものか、装置など外部からの通知かに注目します。
A. 発生場所だけでなく、発生原因が命令の実行に伴うものか、装置など外部からの通知かに注目します。
関連キーワード: 内部割込み、外部割込み、オーバフロー、例外処理、DMA転送

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

