手当たり次第に書くんだ

飽きっぽいのは本能

目次に戻る

IRQ(Interrupt Request、割り込み要求)番号は、コンピューターシステムにおいて、デバイスが CPU に割り込みを要求するための識別番号です。デバイスが処理の途中で CPU を必要とする場合、IRQ を使用してその要求を送信します。これにより、CPU はデバイスからの割り込みを受信し、対応する処理を実行します。

例えば、キーボードがユーザーからの入力を受け付けると、キーボードコントローラーは CPU に割り込みを要求し、CPU はその割り込みを処理して入力を取得します。

IRQ 番号は通常、0 から 15 までの整数で表され、それぞれ異なるデバイスや機能に割り当てられます。IRQ 番号は、ハードウェアリソースを効率的に管理し、複数のデバイスが同時に CPU にアクセスすることを可能にします。

一般的な IRQ 番号の割り当ては以下の通りです。これは古典的なものであり、最新のハードウェア等では異なる可能性があります。また、BIOS の設定等でも変化する可能性があります。

IRQ 番号デバイス
0システムタイマー
1キーボード
2IRQ9 とのカスケード接続用
3シリアルポート 2
4シリアルポート 1
5パラレルポート 2 またはサウンドカード
6フロッピーディスクコントローラー
7パラレルポート 1
8リアルタイムクロック
9IRQ2 へのリダイレクト
10空き
11空き
12PS/2 マウス
13数値演算コプロセッサー
14IDE ハードディスクコントローラー(プライマリ)
15IDE ハードディスクコントローラー(セカンダリ)
一般的な IRQ 番号の割り当て

実際に IRQ 番号を確認してみます。以下は KVM 上の Ubuntu VM の情報となりますが、既に前述の表には含まれない番号がたくさんあります。ですが、1, 4, 8, 9, 12 の情報は一応あっているように見えますね。

myadmin@ubuntu:~$ cat /proc/interrupts
           CPU0       CPU1       
  1:          0          9   IO-APIC   1-edge      i8042
  4:          0       1471   IO-APIC   4-edge      ttyS0
  8:          0          0   IO-APIC   8-edge      rtc0
  9:          0          0   IO-APIC   9-fasteoi   acpi
 12:         15          0   IO-APIC  12-edge      i8042
 16:          0          0   IO-APIC  16-fasteoi   i801_smbus
 21:          0       6075   IO-APIC  21-fasteoi   virtio3, virtio4
 22:          0        135   IO-APIC  22-fasteoi   snd_hda_intel:card0
 24:          0          0   PCI-MSI 16384-edge      PCIe PME, aerdrv
 25:          0          0   PCI-MSI 18432-edge      PCIe PME, aerdrv
 26:          0          0   PCI-MSI 20480-edge      PCIe PME, aerdrv
 27:          0          0   PCI-MSI 22528-edge      PCIe PME, aerdrv
 28:          0          0   PCI-MSI 24576-edge      PCIe PME, aerdrv
 29:          0          0   PCI-MSI 26624-edge      PCIe PME, aerdrv
 30:          0          0   PCI-MSI 28672-edge      PCIe PME, aerdrv
 31:          0          0   PCI-MSI 30720-edge      PCIe PME, aerdrv
 32:          0          0   PCI-MSI 32768-edge      PCIe PME, aerdrv
 33:          0          0   PCI-MSI 34816-edge      PCIe PME, aerdrv
 34:          0          0   PCI-MSI 36864-edge      PCIe PME, aerdrv
 35:          0          0   PCI-MSI 38912-edge      PCIe PME, aerdrv
 36:          0          0   PCI-MSI 40960-edge      PCIe PME, aerdrv
 37:          0          0   PCI-MSI 43008-edge      PCIe PME, aerdrv
 38:          0          0   PCI-MSI 1572864-edge      virtio1-config
 39:          0         13   PCI-MSI 1572865-edge      virtio1-virtqueues
 40:          0          0   PCI-MSI 2097152-edge      virtio2-config
 41:     241323          0   PCI-MSI 2097153-edge      virtio2-req.0
 42:          0     238487   PCI-MSI 2097154-edge      virtio2-req.1
 43:          0          0   PCI-MSI 524288-edge      virtio0-config
 44:     486516     818790   PCI-MSI 524289-edge      virtio0-input.0
 45:     722599     419336   PCI-MSI 524290-edge      virtio0-output.0
 46:          0          0   PCI-MSI 1048576-edge      xhci_hcd
 47:          0          0   PCI-MSI 1048577-edge      xhci_hcd
 48:          0          0   PCI-MSI 1048578-edge      xhci_hcd
 49:          0          0   PCI-MSI 512000-edge      ahci[0000:00:1f.2]
 50:     178173     200807   PCI-MSI 3670016-edge      nvidia
NMI:          0          0   Non-maskable interrupts
LOC:   15922584   14263230   Local timer interrupts
SPU:          0          0   Spurious interrupts
PMI:          0          0   Performance monitoring interrupts
IWI:         21         14   IRQ work interrupts
RTR:          0          0   APIC ICR read retries
RES:     218664     246952   Rescheduling interrupts
CAL:    8392230    8351494   Function call interrupts
TLB:     194069     188631   TLB shootdowns
TRM:          0          0   Thermal event interrupts
THR:          0          0   Threshold APIC interrupts
DFR:          0          0   Deferred Error APIC interrupts
MCE:          0          0   Machine check exceptions
MCP:       1199       1199   Machine check polls
HYP:          1          1   Hypervisor callback interrupts
ERR:          0
MIS:          0
PIN:          0          0   Posted-interrupt notification event
NPI:          0          0   Nested posted-interrupt event
PIW:          0          0   Posted-interrupt wakeup event

以下は、PCI, PCIe デバイスについての補足説明です。

  • PCI デバイスは、ほとんどの場合、IRQ を持ちますが、すべての PCI デバイスが IRQ を持つわけではありません。一部の PCI デバイスは、システム内の他のリソース(メモリリソースや I/O ポート等)に対するアクセスを通じて割り込みを発生させることがあります。
  • PCI Express ( PCIe ) バスを使用するデバイスは、MSI ( Message Signaled Interrupts ) と呼ばれる割り込み方式を使用することがあります。MSI は、IRQ の代わりに PCIe デバイス自体が割り込みを生成するため、より効率的な割り込み処理を可能にします。そのため、MSI をサポートする PCIe デバイスは、従来の IRQ とは異なる割り当て方式を持つことがあります。

目次に戻る

LPIC IRQ 番号

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る