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

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

I/Oアドレス・マップ(1)

 

I/Oアドレス・マップ(1)

 PC/ATのI/Oマップは表2のようになっています.x86系CPUのI/O空間は64Kバイト(0000h〜FFFFh)あるのですが,PC/ATではアドレスのデコード回路を簡単にすませるため,下位10ビットしか使っていません.このためPCの基本I/O群はすべて先頭1Kバイト(0000h〜03FFh)までの間に入っています.

 その後,PCの回路がLSIに集約されるにしたがい下位10ビットだけのデコードの意味が薄れたこともあり,現在のチップ・セットでは16ビット・デコードするようになり,0400h番地以降も使用できるようになりました.

 PCI上のカードI/Oアドレスは,基本的にBIOSのPnP(Plug & Play)機能によって動的に割り付けられますが,この割り付け動作のためのI/Oポート(コンフィギュレーション・ポート)として0CF8h番地と0CFCh番地の二つが使用されています.

(表2)PCのI/Oアドレス・マップ(1)
アドレス[h] デバイス   R/W レジスタ 備 考
0000 DMAC2(8237A)(スレーブDMAC) チャネル0 カレント・アドレス・レジスタ  
0001      W カレント/ベース・アドレス・レジスタ  
        R  カレント・ワード・カウント・レジスタ  
      W カレント/ベース・カウント・レジスタ  
0002   チャネル1 R カレント・アドレス・レジスタ  
0003      W カレント/ベース・アドレス・レジスタ  
      R カレント・ワード・カウント・レジスタ  
      カレント/ベース・カウント・レジスタ  
  0004     チャネル2  R カレント・アドレス・レジスタ  
0005     W  カレント/ベース・アドレス・レジスタ  
      R   カレント・ワード・カウント・レジスタ
 
      カレント/ベース・カウント・レジスタ  
 0006    チャネル3 R  カレント・アドレス・レジスタ  
0007     W  カレント/ベース・アドレス・レジスタ  
     R  カレント・ワード・カウント・レジスタ  
      W   カレント/ベース・カウント・レジスタ  
0008      R  ステータス・レジスタ  
      W  コマンド・レジスタ   
0009   W リクエスト・レジスタ    
 000A      W   シングル・マスク・レジスタ  
 000B    W  モード・レジスタ  
 000C      W  クリア・バイト・ポインタF/F  
 000D     R  テンポラリ・レジスタ  
      W  マスタ・クリア(DMACリセット)  
 000E  W クリア・マスク・レジスタ
000F W オール・マスク・レジスタ
0010 ・ 001F 未使用   ―  ―  PS/2:0018h,001Ahは拡張ファ
ンクション・レジスタ
0020  PIC1(8259A)  R IRR/ISR
W  ビット4〜3=00 OCW2ビット4〜3=01 OCW3ビット4  =1  ICW1
0021 R IMR
W  OCW1,ICW2,ICW3,ICW4
0022・ 
003F
 未使用  ―
0040   PIT(8254) R/W  カウンタ0
0041  R/W  カウンタ1
 0042   R/W カウンタ2
0043   W コントロール・ワード
0044 ・005F  未使用   ―   ―  EISA:0044h,0047h,0048hは PIC.PS/2:0044h〜0047hはタイマ2(WDT用)


Copyright 2000 桑野 雅彦

新刊のご案内


Copyright 1997-2001 CQ Publishing Co.,Ltd.