マイクロプロセッサの制御機能の一つ。
周辺機器が、自身に対してマイクロプロセッサの処理を必要としたとき、その周辺機器からマイクロプロセッサに信号が送信される。
マイクロプロセッサがその信号を受け取ると(基本的には)それまでの処理を中断してその周辺機器に対する処理を行なうよう制御が変更される。この一連の流れのことを割り込みという。
割り込み機能がマイクロプロセッサに実装されるのは、マイクロプロセッサが各種周辺機器の制御に本格的に使われるようになったときである。
割り込み機能が実装されていないマイクロプロセッサで、周辺機器の制御を行なうことは不可能ではない。
しかしこの場合、プログラムがある一定のタイミングで周辺機器の様子を調べるためにI/Oポートにアクセスしにいく必要があった(ポーリング)。
そのため、周辺機器の処理が必要なときだけ、マイクロプロセッサに確実に働いてもらうという目的のために、周辺機器からの応答にマイクロプロセッサが反応して制御を周辺機器に対する処理に変更させる機構が求められたのである。
マイクロプロセッサにおいて、何らかの理由で割り込みが行なわれると問題が発生するような場合(たとえば割り込みベクタの編集中)に割り込み禁止処置が取られることがある。当然、この状態のときは割り込み処理に制御が移ることはない。
この場合、割り込み禁止が解除されるとそれまで止められていた割り込みが即座に処理される。
このため、割り込み禁止状態で無限ループのバグに突入するとオペレーティングシステム(OS)がそのプロセスを制御することができなくなる可能性がある。但し、ユーザーアプリケーションにおいては割り込み禁止の動作を行なうことはできないのが普通である。
複数の割り込みが同時に発生することは十分に考えられる。処理する順番をあらかじめ決めておかなければ、割り込みが無限ループに陥ってしまう可能性もある。
そのため、割り込みに優先度を付ける。優先度の高い割り込みは、低い割り込みよりも優先的に処理される。その途中で優先度の低い割り込みが発生しても、現在の処理終了まで待たせる。このようにして、割り込みが正しく処理されるようにするのが一般的である。
この場合は、先に行なわれている割り込み処理が終了すると、即座に後から来た割り込みが処理されるようになっている。