読み方 : プログラムわりこみ

プログラム割り込み

概要

プログラム割り込みとは、プログラムの実行中に特定の事象が発生したとき、現在の処理を一時中断して別の処理へ制御を移す仕組みのこと。ゼロ除算などエラーが発生したときに自動的に特定の処理を行わせることができる。
プログラム割り込みのイメージ画像

CPUは通常、命令を順番に読み出して実行し続ける。しかし、即座に対応すべき事象が生じると「割り込み」(interrupt)が発生し、CPUは実行中の処理の状態をスタックなどに保存し、その事象に対応する「割り込みハンドラ」(ISRInterrupt Service Routine)へ制御を移す。対応が完了すると保存していた状態を復元し、中断していた処理を再開する。

割り込みの発生源はいくつかに分類される。タイマーの満了や周辺機器からのデータ転送要求など、外部機器の動作に起因するものは「ハードウェア割り込み」あるいは「外部割り込み」と呼ばれる。一方、プログラムの実行に伴って生じるものを「内部割り込み」あるいは「ソフトウェア割り込み」という。

ソフトウェア割り込みのうち、プログラムオペレーティングシステム(OS)の機能を呼び出すために意図的に割り込みを発生させるものを「SVC割り込み」、エラーの発生などによって非自発的に生じるものを「プログラム割り込み」という。プログラム割り込みはゼロ除算や不正なメモリアクセスのように、プログラムの実行に起因してCPUが異常を検出した際に起きるもので、文脈によっては「例外」(exception)「トラップ」(trap)とも呼ばれる。

(2026.6.6更新)
 
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。