基本情報技術者 2013年 春期 午前(科目A) 問11
問題文
MPUの割込みには外部割込みと内部割込みがある。外部割込みの例として、適切なものはどれか。
選択肢
ア:0で除算をしたときに発生する割込み
イ:ウォッチドッグタイマのタイムアウトが起きたときに発生する割込み(正解)
ウ:未定義命令を実行しようとしたときに発生する割込み
エ:メモリやデバイスが存在しない領域にアクセスしたときに発生する割込み
🔒 解説は解答すると表示されます
外部割込みの例【午前解説】
正解の理由
ウォッチドッグタイマ(WDT)はCPUとは別の周辺回路(タイマ)であり、そのタイムアウトは周辺機器側からCPUへ信号を送ることで発生します。これは定義上「外部割込み(外部からの割込み)」に該当します。一方、ゼロでの除算、未定義命令、存在しないメモリアクセスは命令実行中にCPU内部で検出されるエラーや例外(内部割込み、例外、トラップ)であり、外部割込みに該当しません。したがって正解はイです。
解法ステップ
- 「外部割込み」の定義を確認する:周辺機器や外部信号が発生源であること。
- 各選択肢の発生源を分類する:CPU内部(命令実行や例外)か周辺機器か。
- 周辺機器からのイベントに該当する選択肢を選ぶ:タイマ、I/O、割込みラインが該当。
- 設問文の語句(例:「割込み」か「リセット」か)に注意して最終判断する。
選択肢別の誤答解説
- ア: 0で除算をしたときに発生する割込み
- 誤り。0除算は演算時にCPU内部で検出される例外(内部割込み)です。外部周辺回路からの信号ではありません。
- イ: ウォッチドッグタイマのタイムアウトが起きたときに発生する割込み
- 正解。WDTは周辺機器(タイマ)由来のイベントであり、外部割込みの典型例です。
- ウ: 未定義命令を実行しようとしたときに発生する割込み
- 誤り。未定義命令はCPUが命令デコード時に検出する例外に該当し、内部割込みです。
- エ: メモリやデバイスが存在しない領域にアクセスしたときに発生する割込み
- 誤り。不正メモリアクセスはプロテクション違反やフォールトとしてCPU内部で扱われる例外です。
よくある誤解
- ウォッチドッグは「CPU内部の事象」と考える誤り:WDTは周辺回路であり外部イベントとして扱われることが多いです。
- どれも「割込み」として同列に考える誤り:ゼロ除算や未定義命令は一般に例外(内部割込み)と呼ばれ、発生源が異なります。
- 製品によってWDTがリセットを生成する場合がある点を見落とす誤り:設問が「割込み」と明示している場合は割込みとして扱うか仕様を確認します。
補足コラム
ウォッチドッグタイマの挙動は製品によって異なり、まず割込み(警告)を発生させ、その後回復しなければリセットする実装や、即座にハードリセットを行う実装があります。試験問題では「ウォッチドッグタイマのタイムアウトが起きたときに発生する割込み」と明記されているため、割込みとして扱うのが正しい解答手順です。また、用語としては「割込み (Interrupt)」と「例外 (Exception)/トラップ (Trap)」を区別して理解しておくと類題で差が付きます。
FAQ
Q: ウォッチドッグは必ず割込みを発生させますか?
A: いいえ。実装によっては割込みの代わりに直ちにリセットを行う場合があります。設問が「割込み」としている場合は割込みとして解釈します。
A: いいえ。実装によっては割込みの代わりに直ちにリセットを行う場合があります。設問が「割込み」としている場合は割込みとして解釈します。
Q: ソフトウェア割込み(SWI)は外部割込みですか?
A: いいえ。ソフトウェア割込みは命令によってCPU内部で発生するため、内部的な例外扱いとなります。
A: いいえ。ソフトウェア割込みは命令によってCPU内部で発生するため、内部的な例外扱いとなります。
Q: ゼロ除算や未定義命令が「例外」と呼ばれる理由は?
A: どちらも命令実行中にCPU内部で検出され、実行フローを中断して例外処理に移るため「内部の例外」です。
A: どちらも命令実行中にCPU内部で検出され、実行フローを中断して例外処理に移るため「内部の例外」です。
Q: マスク可能/非マスク可能割込み(NMI)は外部割込みに含まれますか?
A: はい。NMIも発生源が外部ハードウェアであれば外部割込みに分類されますが、プロセッサによって扱い方が異なります。
A: はい。NMIも発生源が外部ハードウェアであれば外部割込みに分類されますが、プロセッサによって扱い方が異なります。
関連キーワード: 割込み、外部割込み、ウォッチドッグタイマ、例外、ゼロ除算、未定義命令、不正メモリアクセス、組込みシステム、マスク可能割込み、NMI

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

