基本情報技術者 2018年 春期 午前(科目A) 問10
問題文
内部割込みに分類されるものはどれか。
選択肢
ア:商用電源の瞬時停電などの電源異常による割込み
イ:ゼロで除算を実行したことによる割込み(正解)
ウ:入出力が完了したことによる割込み
エ:メモリパリティエラーが発生したことによる割込み
🔒 解説は解答すると表示されます
内部割込みの判別【午前解説】
正解の理由
ゼロによる除算は、プログラムが特定命令(DIVなど)を実行した結果としてCPUが即時に検出するエラーであり、命令の実行と同期して発生する「例外(内部割込み)」です。CPU内部で発生し、発生地点が命令実行に結びつくため、内部割込みに分類されます。
解法ステップ
- 割込みの発生源を確認する:命令実行(CPU内部)か外部装置/環境かを判定する。
- 同期性を確認する:命令の実行と同期して再現可能なら内部、非同期なら外部。
- 選択肢を一つずつ当てはめる:ゼロ除算は命令実行に依存するため内部と確定。
- 例外扱いの例(不正命令、オーバーフロー、ページフォールト等)を頭に入れておく。
選択肢別の誤答解説
- ア: 商用電源の瞬時停電などの電源異常による割込み — 外部割込み。電源は外部環境要因で非同期に発生します。
- イ: ゼロで除算を実行したことによる割込み — 正解。命令実行に同期してCPU内部で検出される例外(内部割込み)です。
- ウ: 入出力が完了したことによる割込み — 外部割込み。周辺装置からの非同期通知であり、I/O割込みに該当します。
- エ: メモリパリティエラーが発生したことによる割込み — 実装依存だが試験では外部寄りとして扱う場合が多い。メモリ側のハードウェア検出で非同期的に扱われる点を理由に誤答となることが多い。
よくある誤解
- メモリパリティエラーを自動的に内部割込みと考える誤り:パリティエラーはハードウェア検出で扱いが実装に依存し、試験問題では外部寄りの扱いになることがある点に注意。
- 「入出力が完了したこと」はCPU内部で扱われるから内部割込みと誤解:実際は周辺装置からの非同期通知で外部割込みです。
- 電源異常は内部機構の問題と混同する誤り:電源障害は外部要因であり外部割込みまたは非マスク可能割込み(NMI)として扱われます。
補足コラム
割込みは大きく「内部割込み(例外)」と「外部割込み」に分かれます。内部割込みは命令実行に起因する同期的なもの(例:ゼロ除算、例外命令、ページフォールト)。外部割込みは周辺機器や電源などCPU外からの非同期信号(例:I/O完了、電源障害)。また「NMI(ノンマスカブル割込み)」や「マシンチェック」はハードウェアの重大エラーとして別扱いされることがあるため、試験では設問文の文脈で分類することが重要です。
FAQ
Q1: ページフォールトは内部割込みですか?
A1: はい。ページフォールトは命令実行時にメモリ参照が原因で発生する同期例外の代表例で、内部割込みに分類されます。
A1: はい。ページフォールトは命令実行時にメモリ参照が原因で発生する同期例外の代表例で、内部割込みに分類されます。
Q2: ハードウェア障害(機械故障)は内部割込みですか?
A2: 機械故障の通知は多くの場合非同期で外部割込みやマシンチェックとして扱われます。設問文の定義に従って判断してください。
A2: 機械故障の通知は多くの場合非同期で外部割込みやマシンチェックとして扱われます。設問文の定義に従って判断してください。
Q3: 覚え方のコツは?
A3: 「命令に起因する=内部(同期)、外部装置や環境=外部(非同期)」と覚えると素早く分類できます。
A3: 「命令に起因する=内部(同期)、外部装置や環境=外部(非同期)」と覚えると素早く分類できます。
関連キーワード: CPU割込み、内部割込み、外部割込み、例外(トラップ)、ゼロ除算、メモリパリティ、入出力割込み、電源異常、同期・非同期、割込み分類

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

