IRQ
Interrupt ReQuest (割り込み要求)の意。
パソコンに接続されている各種の機器、たとえばキーボードは、いつなんどきユーザーがどれかのキーを押すかが予測不能な状態で、自らの状態を監視しながら待機している。また、ある程度、新たに送り込まれたデータをためておける領域(バッファ)を持っている。
そこでキーボードは、キーバッファに新しいデータがたまり始めると、CPUに対して、
「いまキーが押されたので対応お願いネ」
という通知を行う。
すると、それまで別の仕事をやっていたCPUは、
「おお、キーボードが押されたのか。ではそのあたりの仕事を処理してあげよう」
と、入力されたキーのコードを読み出し、しかるべきプログラムにデータとして渡して処理する、という順序になる。
もし、このようなしくみが存在しないと、CPUは自らがキーボードに対して「何か新しいデータが入ってない?」と常に問い合わせ続けていなければならず、処理速度が低下する要因となる。つまり割り込み要求は、パソコン内での種々の仕事を可能な範囲で分散化し、CPUへの負担を減らし、かつ、適切なタイミングで必要な仕事が処理されるようにするしくみの一つだといえる。
このような、周辺機器側が必要のつどCPUに対して行う通知が「割り込み」で、IBM
PC/AT(とその互換機)では、物理的に最大16個(0から15まで)の「割り込み」を判別できる構造となっている。
これが「IRQ」と呼ばれるもので、「システムタイマー」「キーボード」「FDD」「数値演算プロセッサ」など、必須の機器類に対して原則として1つずつ番号が割り当てられている。
また、いくつかの番号が空いており、オプション機器拡張用に、ユーザーが任意に(拡張カードの設定マニュアルなどを参照して)利用することができる。
とはいえ、なにせIRQの空き番号は有限であり、半面でPCの用途の多様化、そのために必要な機器類の複雑化はとどまるところを知らないため、
・1つの割り込み番号を複数の機器が共用する。
という方向でのシステム拡張手法も一般的。その路線上の機器拡張用規格としては、従来からHDDやスキャナ用として普及してきたSCSIや、今後の発展が期待されるUSBなどがある。