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

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

割り込みコントローラのレジスタ(1)

 

割り込みコントローラのレジスタ(1)

 PICがもつレジスタは初期化時だけ使用するICW1〜ICW4のイニシャライズ・コントロール・ワード,動作中にアクセス可能なOCW1〜OCW3のオペレーション・コントロール・ワード,割り込みのマスク状態を読み出すIMR(インタラプト・マスク・レジスタ)があります.

 このうちOCW1はIMRのセット/リセットを行うものということで,実体はIMRと読み換えても構いません.

 これらのレジスタは表6のように配置されています.PICは使用するI/Oポートを削りながら多くの機能を盛り込んだため,レジスタの配置は少々ややこしくなっています.

 

(表6)PCIのレジスタ・マップ(1)
ポート・アドレス[h]   D[4:3] R/W レジスタ 内容 備考
マスタPCI スレーブPCI          
0020 00A0 R   IRR/ISR/割り込みレベル  
    00   OCW2 ビット7:回転モード

ビット6:レベル指定

ビット5:EOI

※ビット7〜5の組み合わせで以下のようなコマンドとなる

111:指定EOI(優先度回転する)

110:優先度設定コマンド

101:非指定EOI(優先度回転する)

100:自動EOI(優先度回転する)モードにする

011:指定EOI(優先度回転しない)

010:ノー・オペレーション:何もしない

001:非指定EOI

000:自動EOI(優先度回転しない)モードにする

000,および100はICE4[1]=1のときだけ有効

ビット4〜3:常に0

ビット2〜0:指定EOIコマンド,および優先度設定コマンド時の割り込み番号指定111:IR7〜000:IR0

 
    01   OCW3 ビット7:未使用

ビット6〜5:特殊マスク・モード設定

11:特殊マスク・モード設定

10:特殊マスク・モード・リセット

0x:ノー・オペレーション(何もしない)

ビット4:0

ビット3:1

ビット2:ボール・コマンド

(次のリードで割り込み番号が読み出される)

1:ボール・コマンド

0:ノー・オペレーション

ビット1〜0:ISR/IRR読み出し

(次のリードでISR/IRRが読み出しされる)

11:次のリードでISR読み出し

10:次のリードでIRR読み出し

0x:ノー・オペレーション(何もしない) 

    1x   ICW1 ビット7〜5:割り込みベクタ・アドレスのA[7:5]

ビット4:1 

ビット3:LTIM(トリガ・モード設定)

1:割り込み入力はレベル・トリガ入力

0:割り込みレベルはエッジ・トリガ入力

ビット2:ADI(Callアドレス・インターバル)

1:インターバル=4

0:インターバル=8

ビット1:SNGL(シングル)

1:シングル(8259Aは単独)

0:ノット・シングル(8259Aは複数)

ビット0:IC4

1:IC4Wが必要

0:IC4Wは不要

 

8080/8085モード時だけ有効

PCではこちらを設定する

8080/8085モード時だけ有効

PCではこちらを設定する

 まず,ICW1〜ICW4をみていきましょう.ベース・アドレス+0番地(0020h,または00A0h)への書き込みが行われたとき,データのビット4が“1”になっていると,PICは書き込まれたデータをICW1と解釈し,初期化モードに入ります.いったん初期化モードに入ると,その後ベース・アドレス+1番地(0021hまたは00A1h)へ書き込んだデータは,順にICW2,ICW3,ICW4へと格納されます.

 初期化の詳細については後述しますが,ここでは必要なICWへのセットが完了するまで,PICは初期化モードのままで他の設定はできません.また,ICWは必ずこのシーケンスにしたがってセットされるため,任意のレジスタを選択して書き換えるということもできません.ICWへの設定が完了するとPICは通常動作モードになります.

 ではOCWのほうを見てみましょう.OCWは動作中,常に書き換え可能です.OCWはOCW2とOCW3がベース・アドレス+0番地側を,OCW1(IMR)がベース・アドレス+1番地側を使用します.通常動作中ベース・アドレス+1番地側をアクセスすると,割り込みマスクの設定/読み出しが行えるというわけです.

 OCW2とOCW3の区別はデータ・ビットのビット4とビット3で決定されます.ビット4は“0”に固定です(“1”にするとICW1への書き込みになり,初期化モードに入る).ビット3が“0”ならOCW2,“1”ならOCW3への書き込みです.


Copyright 2000 桑野 雅彦

新刊のご案内


Copyright 1997-2001 CQ Publishing Co.,Ltd.