第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番地の二つが使用されています.
アドレス[h] |
デバイス |
|
R/W |
レジスタ |
備 考 |
0000 |
DMAC2(8237A)(スレーブDMAC) |
チャネル0 |
R |
カレント・アドレス・レジスタ |
|
0001 |
|
|
W |
カレント/ベース・アドレス・レジスタ |
|
|
|
|
R |
カレント・ワード・カウント・レジスタ |
|
|
|
|
W |
カレント/ベース・カウント・レジスタ |
|
0002 |
|
チャネル1 |
R |
カレント・アドレス・レジスタ |
|
0003 |
|
|
W |
カレント/ベース・アドレス・レジスタ |
|
|
|
|
R |
カレント・ワード・カウント・レジスタ |
|
|
|
|
W |
カレント/ベース・カウント・レジスタ |
|
0004 |
|
チャネル2 |
R |
カレント・アドレス・レジスタ |
|
0005 |
|
|
W |
カレント/ベース・アドレス・レジスタ |
|
|
|
|
R |
カレント・ワード・カウント・レジスタ
|
|
|
|
|
W |
カレント/ベース・カウント・レジスタ |
|
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 桑野 雅彦
|