第1章 PCのアドレス・マップと

割り込みコントローラ(7)

割り込みコントローラ(8259A)

 

割り込みコントローラ(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)がカスケード接続された形になっています.

(図1)割り込みコントローラの接続

 図中,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.