割り込みコントローラ(8259A) PCの割り込みコントローラ(PIC:プログラマブル・インタラプト・コントローラ)にはIntelの8259A相当品が二つ使われています.8259Aは8ビットCPU,8080用の割り込みコントローラとして作られた8259に8086対応機能を付加したものです.現在のPCでは8259Aそのものが使われているわけではなく,あくまでもPC専用に設計された互換コアです.このため,現在のチップ・セットに入っているPICには8259Aの全機能が備わっているわけではありませんし,PCI割り込み対応などで若干の拡張が行われていることもあります. たとえば,8259Aには8080/8085動作モードもありますが,PCで設定しても動かずまったく意味もないので,設定できないと思っておくべきです.また,PICの割り込み入力はエッジやレベルの設定ができるのですが,PCではエッジしか使用しませんから,レベル設定はできないのがふつうです. 実際,IntelのPCI/ISAブリッジ・チップ(P2X4)に内蔵のPICでは,このエッジ/レベル選択機能が削られています.逆にPCIバスは割り込みをレベルで取るため,P2X4では各割り込み入力ごとにエッジ/レベル選択ができるレジスタを追加しています. この他のデバイスに関しても,通常PCで使われない設定については「設定できない」と考えたほうが無難です. PCの割り込みコントローラ接続 PCの割り込みコントローラは図1のように,PIC1(マスタPIC)のIR2にPIC2(スレーブPIC)がカスケード接続された形になっています.
図中,ISAバスの割り込み信号でIRQ9(IRQ2)とありますが,これはISAバスがPC/ATの前身である,XTのバスでIRQ2となっていたところにスレーブPICのIR1(IRQ9)が接続されたことを示したものです. XTにはPICはひとつしかなかったので,IRQ2にはマスタPICのIR2が接続されていたのです.PC/ATで割り込みコントローラを増設する必要が生じたとき,マスタPICのIR2がスレーブPICを接続するために使用されました. そのままではXTで使用していたIR2を使うボードが動かなくなるので,スレーブのIR1を元のIRQ2のピンに接続したというわけです. このため,スレーブPIC側の他の割り込み信号はISAコネクタのキー溝より下(パネルと反対側)にあるのに対して,IRQ9はキー溝の上側に配置されています. Copyright 2000 桑野 雅彦 |
|
Copyright 1997-2001 CQ Publishing Co.,Ltd.