マナビング基本情報技術者

外部割込みと内部割込みの違いはどこにある?

基本情報技術者試験 平成31年度春期 午前 問9 / コンピュータ構成要素 › プロセッサ

過去問にチャレンジ

平成31年度春期 午前 問9

外部割込みの原因となるものはどれか。

  1. ア

    ゼロによる除算命令の実行

  2. イ

    存在しない命令コードの実行

  3. ウ

    タイマーによる時間経過の通知

  4. エ

    ページフォールトの発生

会話形式の解説

講師講師
割込みの原因が、実行中の命令にあるかを確かめましょう。タイマーの通知は、命令を実行した結果でしょうか。
受験者受験者
時間が経過したという通知なので、実行中の命令が原因ではなさそうです。
講師講師
その通りです。タイマーによる時間経過の通知は外部割込みに当たります。
受験者受験者
ゼロによる除算も割込みを起こしますが、こちらはどう考えますか。
講師講師
除算命令を実行したときに検出されます。命令の実行が原因なので、内部割込みです。
受験者受験者
存在しない命令コードも、その命令を実行しようとしたときに検出されるのですね。
講師講師
はい。これも命令の実行に伴う内部割込みです。
受験者受験者
ページフォールトは、命令が参照するページに関係するのでしょうか。
講師講師
そうです。命令が参照するページが主記憶にないときに発生します。ページの参照は命令の実行に伴うため、内部割込みです。
受験者受験者
実行中の命令が原因なら内部割込み、タイマーからの時間経過通知なら外部割込みと判断できます。
講師講師
その判断で正解です。ページフォールトも、何が発生のきっかけかをたどると区別できます。

まとめ

外部割込みと内部割込みは、実行中の命令が原因かどうかで区別します。タイマーによる時間経過の通知は命令に起因しないため、外部割込みです。ゼロ除算、存在しない命令コード、ページフォールトは命令の実行に伴う内部割込みです。

解答・解説

正解はウです

この問題のテーマ

外部割込みと、命令の実行に伴って起こる内部割込みを区別する問題です。

解き方の考え方

割込みの原因が実行中の命令にあるかを確認します。命令の実行とは別にタイマーが時間経過を通知する場合は、外部割込みに当たります。

選択肢ごとの解説

  1. ×ア  ゼロによる除算命令の実行
    ゼロによる除算は、除算命令を実行したときに検出されます。原因が命令の実行にあるため、内部割込みです。
  2. ×イ  存在しない命令コードの実行
    存在しない命令コードは、その命令を実行しようとしたときに検出されます。これは内部割込みです。
  3. ○ウ  タイマーによる時間経過の通知
    タイマーは、時間が経過したことを通知します。その通知は実行中の命令に起因しないため、外部割込みです。
  4. ×エ  ページフォールトの発生
    ページフォールトは、命令が参照するページが主記憶にないときに発生します。ページの参照という命令の実行に伴うため、内部割込みです。

POINT

  • 外部割込みか内部割込みかは、実行中の命令が原因かどうかで判断します。
  • タイマーからの時間経過通知は外部割込みです。
  • ゼロ除算、不正命令、ページフォールトは内部割込みです。

※出典:平成31年度春期 基本情報技術者試験 午前 問9