割り込み (コンピュータ)
ハードウェア割り込み
割り込み要求端子は、ソフトウェアからマスク不可能な割り込み (Non-Maskable Interrupt, NMI) と、マスク可能な割り込み（NMIに対して狭義のIRQ）の2種類の端子を備えている場合が多い。割り込みのマスクの設定は主にフラグレジスタに格納されており、割り込みの許可/禁止 (Enable/Disable) を操作するCPUの命令が用意されている。またこれらの端子が同時にアサートされた場合、優先順位がありNMIが優先される。
NMIはデバッグやハードウェアエラーなどの特殊な用途に使われ、通常のペリフェラルからの割り込み要求はマスカブル割り込み（以下IRQ）に接続して用いる。CPUのIRQは1本もしくは複数用意され、CPUの種類や実装によって異なる。
複数のペリフェラルからの割り込み要求が発生可能な場合、1つの割り込みハンドラ（後述）で処理を行うと、どのペリフェラルがどのような割り込み要求を発生させたのか判別する処理を、プログラム側で行う必要がある。これに対し、ハードウェアとして複数のIRQ端子を用意して、割り込み要因毎に異なるハンドラに処理を移すことができるようにした構成をとれるようにしたものがある。この機能を持った回路のことを割り込みコントローラ (Interrupt Controller) と呼び、CPUのIRQ端子を外部で拡張し、制御するものである。
ソフトウェア割り込み
狭義にいうSWIは、割り込みを起こすための命令（ソフトウェア割り込み命令）によって発生するものである。SWI、CPUのモードを遷移させることができるため、可能な処理の範囲がモードによって制限されるようなCPUにおいて、システムコールを実現するために用いられる（通常のアプリケーションが動作するモードであるユーザモードでは実行できない命令であっても、SWIの後では実行可能になる）。また、例外は、ゼロ除算、オーバーフロー、ページフォルトなどによって生じる。特にページフォルトはOSがメモリ空間を管理するのに重要な役割を果たす。
割込処理
どちらの割り込みにせよ、CPUに割り込みが生じると、現在実行している処理（命令）を停止して別の処理を実行する。割り込み後に実行される処理は、割り込みハンドラもしくは割り込みサービスルーチン (Interrupt Service Routine, ISR) と呼ばれる。また、割込処理が終了しても、元の処理（割り込みが生じた時点に実行していた処理）に戻ってこられるように、元の処理の場所（アドレス）に関する情報（および元の処理の作業状態、コンテキストと呼ばれる）を（多くの場合スタックに）保存しておく。割込処理を実行するために、どこの場所（アドレス）に飛べば良いかを示す情報は、割り込みベクタと呼ばれるテーブルに書かれている。割り込みベクタには、飛び先の命令のアドレスを書くこともあれば、ジャンプ命令を書くこともある。
割込処理のオーバーヘッド
割り込み処理ではイベントドリブンな処理を行うことができるため、割り込み処理に割り当てられたタスクについては効率的な処理が行える。しかしその一方、割り込み発生時には、CPUのレジスタの退避/復帰やプロセッサの特権レベル移行の処理など、少なからず処理にオーバーヘッドが生ずることとなる。このため、割り込みの発生頻度が高いシステムの場合、その処理によってシステム資源が占有されてしまい、本来の処理の応答性や処理速度に影響を与える場合がある。
状況によっては割り込みを使わず、ポーリングでフラグを定期的に確認するなどして、本来の処理との折り合いをつける方が、全体的なパフォーマンスが向上する場合が多い。なお、一部のデバイスドライバでは、通常は割り込み動作を行い高負荷時にはポーリングで動作する仕組みを持ったものもある。
また、RISCプロセッサでは、割り込みが発生すると実行中のパイプラインが乱れ処理性能が低下するため、旧来の8ビットCISCプロセッサなどに比べると、割り込みによる相対的なパフォーマンス低下の影響が大きくなる。また投機的実行のペナルティなど複雑化したプロセッサ機能も、割り込みの際のオーバーヘッドを増大させる要因となる。
「割込み」という日本語
コンピュータのこの意味での「割込み」という語は、インタラプトの訳ではなく、独立に作ったものである。和田英一によれば、1959年の夏、パラメトロン計算機において、出力装置が直前の処理を終えたことを計算機に知らせる方法を議論していてアイディアを得た、という。