基本情報技術者 2010年 秋期 午前(科目A) 問11
問題文
内部割込みに分類されるものはどれか。
選択肢
ア:商用電源の瞬時停電などの電源異常による割込み
イ:ゼロで除算を実行したことによる割込み(正解)
ウ:入出力が完了したことによる割込み
エ:メモリパリティエラーが発生したことによる割込み
内部割込みに分類されるものはどれか。【午前2 解説】
要点まとめ
- 結論: ゼロで除算を実行したことによる割込み(イ)は命令実行に同期して発生する内部割込みであり本問の正解です。
- 根拠: 内部割込みは CPU の命令実行に起因する例外で、命令そのものが不正や例外を起こした場合に発生します(例: 0 除算、不正命令など)。
- 差がつくポイント: 電源瞬断や I/O 完了は外部割込み、メモリパリティエラーはハードウェア由来で非同期の場合が多く、同期性で区別すると確実です。
正解の理由
正解は イ です。ゼロで除算したときの割込み(0 除算例外)は CPU が命令を実行した結果として即時に発生する「命令に同期した例外」であり、これを内部割込み(内部例外、同期割込み)と呼びます。内部割込みは発生タイミングが命令実行と一致し、例外ハンドラで処理されます。したがって「ゼロで除算を実行したことによる割込み」は内部割込みに該当します。
よくある誤解
- メモリパリティエラーは内部割込みだと考える誤解:パリティエラーは主にメモリ回路側で発生するハードウェア障害で、CPU 外部からの非同期シグナルとして扱われることが多く外部割込み扱いになる場合があります。
- I/O 完了割込みを内部と思う誤解:入出力完了は周辺機器からのシグナルであり、命令実行と同期しないため外部割込みに分類されます。
- 同期=ソフトウェア発生と短絡する誤解:ソフトウェア割込み(例:ソフトウェア発行の trap)も同期ですが、ここでの「内部割込み」は命令実行に起因する CPU 例外(0 除算や不正命令等)を指す点に注意してください。
解法ステップ
- 各選択肢の発生源を確認する(CPU内部の命令実行か、周辺機器や電源など外部か)。
- 発生タイミングが「命令実行に同期しているか(同期)」「命令と無関係に発生するか(非同期)」を判定する。
- 同期的かつ命令に起因するものを内部割込みとして選ぶ。
- 該当する選択肢があればそれを正解とする(本問ではゼロ除算が該当)。
選択肢別の誤答解説
- ア: 商用電源の瞬時停電などの電源異常による割込み
→ 電源異常は外部の物理現象による非同期イベントで、外部割込み(非同期割込み)に分類されます。誤りです。 - イ: ゼロで除算を実行したことによる割込み
→ 命令実行に同期して発生する CPU 例外(0 除算例外)であり内部割込みに該当します。正解です。 - ウ: 入出力が完了したことによる割込み
→ 周辺機器からの信号であり命令実行と独立して非同期に発生するため外部割込みとなります。誤りです。 - エ: メモリパリティエラーが発生したことによる割込み
→ パリティエラーはハードウェア側で検出される障害であり、一般に非同期に発生する外部的な割込み(あるいは別扱いのハードウェアエラー)とされるため、通常は内部割込みとは区別されます。したがって本問の観点では誤りです。
補足コラム
内部割込み(例外)と外部割込みの見分け方は「同期性」が鍵です。内部割込みは命令実行と同期して発生するため再現性があり、処理系はその命令コンテキストを参照してハンドリングできます。外部割込みは非同期で、割込みハンドラは割込み発生時点のプロセッサ状態に依存します。OS や CPU アーキテクチャでは「trap」「fault」「abort」など細かな分類があり、例えばページフォルトは命令実行に伴う内部例外として扱われます。
FAQ
Q1: メモリパリティエラーは常に外部割込みですか?
A1: 多くの場合はハードウェア検出の非同期イベントとして扱われ外部割込みに近いですが、アーキテクチャや実装により扱いが異なるため設計資料を確認してください。
A1: 多くの場合はハードウェア検出の非同期イベントとして扱われ外部割込みに近いですが、アーキテクチャや実装により扱いが異なるため設計資料を確認してください。
Q2: ソフトウェア割込み(システムコール)は内部割込みですか?
A2: ソフトウェア割込みは命令によって意図的に発生させる同期割込みで「同期的」ですが、問題文での「内部割込み」は命令実行に起因するCPU例外(エラー)を指す場合が多い点に注意してください。
A2: ソフトウェア割込みは命令によって意図的に発生させる同期割込みで「同期的」ですが、問題文での「内部割込み」は命令実行に起因するCPU例外(エラー)を指す場合が多い点に注意してください。
Q3: ページフォルトは内部か外部か?
A3: ページフォルトは命令実行時に発生する同期的な例外であり、内部割込み(例外)に分類されます。
A3: ページフォルトは命令実行時に発生する同期的な例外であり、内部割込み(例外)に分類されます。
関連キーワード: 内部割込み、外部割込み、例外、同期・非同期、ゼロ除算、パリティエラー、入出力割込み、割込み分類、CPU例外、割込みハンドラ

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

