Skip to the content.

最終更新日:2026年7月30日

まず結論

割込みとは、実行中の処理をいったん止めて、優先して別の処理を行う仕組みです。

基本情報技術者試験では、外部割込みと内部割込みは、次のように切り分けます。

分類 原因 判断の合図
内部割込み 実行中のプログラムや命令が原因 0除算、オーバーフロー、ページフォールト、SVC
外部割込み 実行中の命令とは独立した装置・タイマ側の要因 入出力割込み、タイマ割込み、機械チェック割込み

ここでいう「内部・外部」は、部品がCPUの中にあるか外にあるかだけで決まりません

特に、CPUに内蔵されたタイマーであっても、時間の経過によって発生するタイマ割込みは 外部割込み に分類されます。

直感的な説明

割込みは、授業中に先生が説明している場面で考えると分かりやすいです。

先生が説明している途中で、次のようなことが起きたとします。

生徒が質問する
チャイムが鳴る
校内放送が入る
先生が板書ミスに気づく

このとき、先生は説明をいったん止めて、先に対応することがあります。

コンピュータでも同じです。

CPUがプログラムを実行している途中で、優先して対応すべきことが起きると、現在の処理をいったん中断して、割込み処理を行います。

ここで大事なのは、何が原因で割込みが起きたか です。

実行中のプログラムや命令が原因
  → 内部割込み

命令の実行とは独立した装置・タイマ側の通知
  → 外部割込み

例えば、プログラムの計算でオーバーフローが起きたなら、実行中のプログラムが原因なので内部割込みです。

一方、設定した時間が経過してタイマーから通知されたなら、命令の実行とは独立した要因なので外部割込みです。

定義・仕組み

割込みは、実行中のプログラムをいったん中断し、割込みの原因に応じた処理を優先して実行する仕組みです。

割込みには、大きく分けて内部割込みと外部割込みがあります。

分類 意味
内部割込み 実行中のプログラムや命令の実行が原因で起こる割込み
外部割込み 実行中の命令とは独立した装置・タイマ・ハードウェア側の要因で起こる割込み

内部割込みの例は、次のようなものです。

内容
0除算 0で割ろうとしたときに発生する
オーバーフロー 演算結果が扱える範囲を超えたときに発生する
ページフォールト 主記憶にないページを参照しようとしたときに発生する
SVC割込み プログラムがOSにサービスを依頼するときに発生する
不正命令 実行できない命令を実行しようとしたときに発生する
メモリ保護違反 アクセスしてはいけない領域へアクセスしたときに発生する

外部割込みの例は、次のようなものです。

内容
入出力割込み 入出力装置の処理完了などで発生する
タイマ割込み 一定時間の経過などで発生する
機械チェック割込み ハードウェア異常を検知したときに発生する
電源異常割込み 電源異常や停電の検知で発生する
コンソール割込み 操作員や外部操作によって発生する

FE試験では、細かいCPU制御よりも、次の順で判断すると切り分けやすくなります。

1. 実行中の命令やプログラムが原因か
2. 命令とは独立した装置・タイマ側の通知か
3. 部品の物理的な配置だけで判断していないか

このテーマは、基本情報技術者試験の「コンピュータ構成要素」や「OS」と関係する内容です。公式の出題範囲やシラバスは、IPA:基本情報技術者試験 から確認できます。

科目Aでどう出る?

科目Aでは、割込みの説明から、内部割込みか外部割込みかを選ぶ問題が出やすいです。

判断するときは、まず発生原因を見ます。

説明の中心 分類 理由
主記憶に存在しないページをアクセスしようとした 内部割込み 実行中のプログラムによるページフォールト
OSに対してサービスを依頼した 内部割込み SVC割込み
ハードウェアが異常を検知した 外部割込み 機械チェック割込み
浮動小数点演算でオーバーフローが起きた 内部割込み 演算処理が原因
インターバルタイマーで設定時間が経過した 外部割込み 命令の実行とは独立したタイマーからの通知

選択肢以外にも、次の例を押さえておくと安全です。

割込みの例 分類 判断の合図
0で割ろうとした 内部割込み プログラムの演算が原因
不正な命令を実行しようとした 内部割込み 命令実行が原因
アクセス権のないメモリを参照した 内部割込み プログラムのアクセスが原因
入出力装置が処理完了を通知した 外部割込み 装置側からの通知
タイマが一定時間の経過を通知した 外部割込み 命令とは独立したタイマーからの通知
電源異常を検出した 外部割込み ハードウェア・電源側の原因

試験では、次の一言でかなり切りやすくなります。

プログラムや命令が原因なら内部
命令とは独立した装置・タイマ側の通知なら外部

どんな場面で使う?

OSやCPUの処理の流れを読むときに、割込みの考え方が役立ちます。

例えば、CPUがプログラムを実行している途中で、入出力装置から処理完了の通知が来たとします。

この場合、CPUは実行中の処理を一時的に中断し、入出力完了に対応する処理を行います。

通常の処理を実行
  ↓
入出力装置から通知
  ↓
割込み処理を実行
  ↓
元の処理に戻る

このように、割込みは「今の処理を止める」だけでなく、必要な処理を先に済ませて、元の処理へ戻るための仕組みです。

問題文で読むときは、次の点を確認すると理解しやすくなります。

1. 何が原因で割込みが発生したか
2. 実行中のプログラムや命令が原因か
3. 装置やタイマーからの独立した通知か
4. 割込み処理後に元の処理へ戻るか

よくある誤解・混同

誤解1:OSに依頼するのでSVC割込みは外部割込みだと思う

SVC割込みは、OSにサービスを依頼するときに発生する割込みです。

名前だけ見ると、OSという外側のものに依頼しているように感じます。

しかし、SVC割込みは、実行中のプログラムが命令によって発生させる割込みです。

そのため、分類は 内部割込み です。

OSに依頼する
でも、実行中のプログラムが原因
  → 内部割込み

誤解2:ページフォールトを外部割込みだと思う

ページフォールトは、主記憶に存在しないページを参照しようとしたときに発生します。

ディスクからページを読み込むことがあるため、外部装置の話に見えるかもしれません。

しかし、発生のきっかけは、実行中のプログラムがそのページを参照したことです。

そのため、ページフォールトは 内部割込み です。

誤解3:ハードウェア異常を内部割込みだと思う

ハードウェア異常は、CPUや装置側で検知される外部要因です。

そのため、機械チェック割込みとして、外部割込みに分類されます。

ハードウェアが異常を検知
  → 機械チェック割込み
  → 外部割込み

誤解4:オーバーフローを外部割込みだと思う

オーバーフローは、演算結果が扱える範囲を超えたときに発生します。

演算中に起きるため、実行中のプログラムが原因です。

そのため、オーバーフローは 内部割込み です。

誤解5:CPU内蔵タイマーなので内部割込みだと思う

これは、試験勉強を始めたばかりのときに特に迷いやすいポイントです。

「CPUの内部にあるタイマーなら、内部割込みではないか」と考えたくなります。

しかし、内部割込みと外部割込みは、部品の物理的な配置だけで分類するものではありません。

タイマ割込みは、実行中の命令の演算やエラーが原因ではなく、設定された時間が経過したことをタイマーが通知して発生します。

そのため、CPUに内蔵されたタイマーであっても 外部割込み に分類されます。

CPUの中にあるか外にあるか
  → 判断の決め手ではない

命令の実行が原因
  → 内部割込み

時間経過をタイマーが通知
  → 外部割込み
迷いやすい例 正しい分類
ページフォールト 内部割込み
SVC割込み 内部割込み
オーバーフロー 内部割込み
機械チェック割込み 外部割込み
入出力割込み 外部割込み
CPU内蔵タイマーによるタイマ割込み 外部割込み

まとめ(試験直前用)

  • 割込みは、実行中の処理をいったん中断して優先処理を行う仕組み
  • 実行中のプログラムや命令が原因 なら内部割込み
  • 命令とは独立した装置・タイマ側の通知 なら外部割込み
  • SVC、ページフォールト、オーバーフローは内部割込み
  • CPU内蔵であっても、タイマ割込みは外部割込み

© 2024-2026 stemtazoo. All rights reserved.