外部割込みと内部割込みの違いはどこにある?
基本情報技術者試験 平成31年度春期 午前 問9 / コンピュータ構成要素 › プロセッサ
過去問にチャレンジ
外部割込みの原因となるものはどれか。
- ア
ゼロによる除算命令の実行
- イ
存在しない命令コードの実行
- ウ
タイマーによる時間経過の通知
- エ
ページフォールトの発生
会話形式の解説
講師割込みの原因が、実行中の命令にあるかを確かめましょう。タイマーの通知は、命令を実行した結果でしょうか。
受験者時間が経過したという通知なので、実行中の命令が原因ではなさそうです。
講師その通りです。タイマーによる時間経過の通知は外部割込みに当たります。
受験者ゼロによる除算も割込みを起こしますが、こちらはどう考えますか。
講師除算命令を実行したときに検出されます。命令の実行が原因なので、内部割込みです。
受験者存在しない命令コードも、その命令を実行しようとしたときに検出されるのですね。
講師はい。これも命令の実行に伴う内部割込みです。
受験者ページフォールトは、命令が参照するページに関係するのでしょうか。
講師そうです。命令が参照するページが主記憶にないときに発生します。ページの参照は命令の実行に伴うため、内部割込みです。
受験者実行中の命令が原因なら内部割込み、タイマーからの時間経過通知なら外部割込みと判断できます。
講師その判断で正解です。ページフォールトも、何が発生のきっかけかをたどると区別できます。
まとめ
外部割込みと内部割込みは、実行中の命令が原因かどうかで区別します。タイマーによる時間経過の通知は命令に起因しないため、外部割込みです。ゼロ除算、存在しない命令コード、ページフォールトは命令の実行に伴う内部割込みです。
解答・解説
正解はウです
この問題のテーマ
外部割込みと、命令の実行に伴って起こる内部割込みを区別する問題です。
解き方の考え方
割込みの原因が実行中の命令にあるかを確認します。命令の実行とは別にタイマーが時間経過を通知する場合は、外部割込みに当たります。
選択肢ごとの解説
- ×ア ゼロによる除算命令の実行ゼロによる除算は、除算命令を実行したときに検出されます。原因が命令の実行にあるため、内部割込みです。
- ×イ 存在しない命令コードの実行存在しない命令コードは、その命令を実行しようとしたときに検出されます。これは内部割込みです。
- ○ウ タイマーによる時間経過の通知タイマーは、時間が経過したことを通知します。その通知は実行中の命令に起因しないため、外部割込みです。
- ×エ ページフォールトの発生ページフォールトは、命令が参照するページが主記憶にないときに発生します。ページの参照という命令の実行に伴うため、内部割込みです。
POINT
- 外部割込みか内部割込みかは、実行中の命令が原因かどうかで判断します。
- タイマーからの時間経過通知は外部割込みです。
- ゼロ除算、不正命令、ページフォールトは内部割込みです。
