割り込み (コンピュータ)
周辺機器に障害が生じた場合、割り込みを用いることでプログラム側に障害を速やかに伝えることが可能になる。またプログラム上でも例外処理を本来の処理と分離して記述することを容易にする。
割り込み処理ではイベントドリブンな処理を行うことができるため、割り込み処理に割り当てられたタスクについては効率的な処理が行える。しかしその一方、割り込み発生時には、CPUのレジスタの退避/復帰やプロセッサの特権レベル移行の処理など、少なからず処理にオーバーヘッドが生ずることとなる。このため、割り込みの発生頻度が高いシステムの場合、その処理によってシステム資源が占有されてしまい、本来の処理の応答性や処理速度に影響を与える場合がある。
状況によっては割り込みを使わず、ポーリングでフラグを定期的に確認するなどして、本来の処理との折り合いをつける方が、全体的なパフォーマンスが向上する場合がある。なお、一部のデバイスドライバでは、通常は割り込み動作を行い高負荷時にはポーリングで動作する仕組みを持ったものもある。
また、RISCプロセッサでは、割り込みが発生すると実行中のパイプラインが乱れ処理性能が低下するため、旧来の8ビットCISCプロセッサなどに比べると、割り込みによる相対的なパフォーマンス低下の影響が大きくなる。また投機的実行のペナルティなど複雑化したプロセッサ機能も、割り込みの際のオーバーヘッドを増大させる要因となる。