割り込み (コンピュータ)
ハードウェア割り込みはCPUの外部から要求されるものであり、CPUの割り込み要求端子をアサート(アクティブ化)された場合に発生する。
例えば、キーボードが押下されるなど周辺機からのデータ入力が発生した際に、割り込み要求端子の電圧をHIからLOWにしてアサートすることで、実行中のCPU命令実行が中断され、入力処理ルーチンの実行処理が割り込まれる。
CPUの割り込み要求端子には、割り込み処理を禁止できないマスク不可能な割り込み (Non-Maskable Interrupt, NMI) と、割り込み処理の許可/禁止を制御できるマスク可能な割り込み(狭義のIRQ)の2種類の端子を備えている場合が多い。割り込みのマスクの設定は主にフラグレジスタに格納されており、割り込みの許可/禁止 (Enable/Disable) を操作するCPUの命令が用意されている。また、これらの端子が同時にアサートされた場合、優先順位がありNMIが優先される。一般に、周辺機からの入力にはOSで制御される必要があるため、IRQ端子に接続して使用されることが多い。一方、デバッグやハードウェアエラーなどの特殊な用途にはNMIが使用されることが多い。ところが、SPARCでは、割り込みの中で最も優先度が高いNMIであっても、その名称からの予想に反し、割り込みマスクを使用することで割り込み発生を禁止することができる。
IRQ端子のアサート方法は、信号の変化点を検出するエッジトリガと、信号のレベルで検出するレベルトリガがある。