Programmable Interrupt Controller
PICは普通、共通のレジスタセットを持っている。Interrupt Request Register(IRR)、In-Service Register(ISR)、Interrupt Mask Register(IMR)である。IRRはackを返さず止めている割り込みを示しており、通常直接アクセスできないシンボリックレジスタである。ISRレジスタはackを返した割り込みを示しているが、まだ割り込み終了(End of Interrupt, EOI)を待っている割り込みを示す。IMRレジスタは無視ないしackを返さない割り込みを示している。このような単純なレジスタ構成を用いることで、同時に来た2つの重要な割り込み要求を一つはack待ちに、もう一つはEOI待ちにして分けることができる。
PICが持っている共通の優先順位付けは、hard priority、specific priority、rotating priorityから構成されている。
割り込みはエッジトリガ、レベルトリガのいずれかを使える。
EOIが発行される時に、割り込みが完了したことを認識するのにはいくつか共通の方法がある。この中には、完了した割り込みを指定するもの、完了した割り込み(通常、ISR内で止められているもっとも優先度の高い割り込み)を暗黙に使うもの、EOIのような割り込みackを扱うものである。