IRQ
「Interrupt Request」を意味します。
IRQは、コンピューターのCPUに送られるハードウェア信号で、現在実行している処理を停止し、代わりに優先度の高いプロセスを実行するよう指示します。ネットワークカード、ストレージコントローラー、キーボードなどのハードウェアデバイスは、処理すべき新しい情報があることをCPUに知らせる必要があるときにIRQを送信します。たとえば、コンピューターのキーボードは、ユーザーがキーを押すたびにIRQを送信し、CPUがそのキー入力をすぐに処理できるようにします。
IRQを送信できる各コンポーネントには、オペレーティングシステムによってIRQアドレスが割り当てられます。初期のPCが対応できたIRQアドレスは合計16個だけだったため、一部のコンポーネントは同じアドレスを共有する必要がありました。アドレスを共有すると、2台のデバイスが同時にIRQを送信したときに競合やクラッシュが起きることがよくありました。たとえば、通常コンピューターはサウンドカードとプリンターポートの両方にIRQアドレス7を割り当てていました。この2つのデバイスが同時にIRQを送信すると、システムがフリーズすることがありました。最新のコンピューターは数百のIRQチャネルに対応しているため、現在ではIRQの競合は非常にまれです。
すべてのIRQは専用の割り込みコントローラーを経由します。このコントローラーは、受信した割り込みを受け取り、優先順位を付けてCPUに渡します。最新のコンピューターでは、CPUは複数のプロセッサコアを使用し、それぞれが独自の割り込みコントローラー(Advanced Programmable Interrupt Controller(APIC)と呼ばれます)を備えています。マザーボードのチップセットには、補助コントローラー(I/O APICと呼ばれます)が組み込まれています。このコントローラーは、他のハードウェアデバイスから送られる割り込み要求を受け取り、処理のために複数のコアへ振り分けます。
知識をテストする