Programmable Interrupt ControllerPIC、割り込みコントローラ)はその割り込み出力に優先順位を割り当てることができるデバイスである。 デバイスがアサート可能な複数割り込み出力を持っている時、PICは優先順位に従って割り込みをアサートする。PICのモードには通常hard priorityrotating prioritycascading priorityがある。PICの中にはしばしばその出力を他のPICの入力につないでカスケードすることができるものもある。

共通の特徴

編集

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を扱うものである。

有名なPIC

編集

もっともよく知られているPICの一つに、8259Aがある。これはx86アーキテクチャのPCに採用されている。今では、これはx86 PCの中で単独のチップとしては存在しておらず、機能はマザーボードのサウスブリッジの一部として取り込まれている。他には、より多くの割り込み出力とより柔軟なプライオリティ制御をサポートする、より新しいAdvanced Programmable Interrupt Controllersで完全に置き換えられていることもある。

x86系

  • Intel 8259(8259Aの前身):8259Aの原型。8259Aは上位互換として機能強化されたバージョン。
  • OpenPIC:1995年にAMDとCyrixがIntel APICに対抗して提案したアーキテクチャ。最大32プロセッサをサポート。IBMとCompaqからの支持表明もあったが、実際にx86マザーボードへの搭載には至らなかった。AMDはその後、APICアーキテクチャをIntelからライセンスしてAthlonに採用した。

x86以外のアーキテクチャ

  • IBM MPIC(Multiprocessor Interrupt Controller):OpenPICのレジスタ仕様をベースにIBMが開発した。最大4プロセッサ・128割り込みソースに対応し、PowerPCベースのRS/6000シリーズなどに採用された。
  • Apple MPIC:AppleがPower MacのHydra MIOチップ内にMPICを実装し、Power Mac G5世代まで使用した。Freescaleも自社のPowerQUICC・QorIQプロセッサにMPIC互換コントローラを採用している。
  • Motorola MC68901:Motorola 68000系向けの多機能周辺チップで、割り込みコントローラのほかUART・タイマ・パラレルI/Oを統合し、Atari STやX68000に採用された。

📚 Artikel Terkait di Wikipedia

割り込み (コンピュータ)

次に代表的な割り込みコントローラの例について述べる。 Intel 8259 (Programmable Interrupt Controller, PIC) Intel 8086ファミリの割り込みコントローラ。IRQ 0-7の8本の割り込み端子を持ち、CPUに

APIC

Programmable Interrupt Controllerの略で、インテルにより開発された、x86アーキテクチャにおける割り込みコントローラのことである。 それまでのLegacyの割り込みコントローラとして知られるPIC (Programmable Interrupt Controller)

割り込みハンドラ

にてより粒度が細かいロックをカーネルに導入する動機となった。 ^ ユーザモードのスレッドをカーネルモードのスレッドがプリエンプトすることは一般に可能なので問題にならない。 APIC プロセッサ間割り込み 割り込み (コンピュータ) Programmable Interrupt Controller

Intel 440FX

Xcelerator)の3チップで構成され、オプションとして82093AA(I/O APIC:I/O Advanced Programmable Interrupt Controller)を組み合わせてデュアルプロセッサー構成を採用することも可能であった。 後継チップセットは1997年に発売された、Intel 440LXである。

プロセッサ間割り込み

(MMU) をプロセッサ間で同期させる。 Advanced Programmable Interrupt Controller 割り込み 割り込みハンドラ Non-maskable interrupt Programmable Interrupt Controller 表示 編集

Intel 8259

Intel 8259はProgrammable Interrupt Controller (PIC) の一種であり、Intel 8080やIntel 8085、Intel 8086のような8ビットや16ビットのマイクロプロセッサの周辺LSIとして、同社により設計・開発された。8259はIntel 8080

PIC

PIC (コントローラ) - マイクロコントローラのひとつ。 PIC (画像圧縮) - 画像圧縮フォーマットのひとつ。 Programmable Interrupt Controller - 複数の割り込み要求を受け付け、優先順位に従ってCPUへ通知するデバイス。 Pic - がか座(星座、Pictor)の略称。

ISR (曖昧さ回避)

Interrupt Service Register - 割り込みが進行中であることを示すために用いられるレジスタ → Programmable Interrupt Controller 情報、記憶、検索(Information, Storage and Retrieval) - 情報検索 Intersecting