I/Oポートアドレスは、CPUが各デバイスと通信するために利用されるアドレスです。
CPUと各デバイスの間のやり取りには、チップセットが仲介をします。CPUから見たチップセット上のポートアドレスがI/Oポートアドレスになります。
Linuxでは/proc/ioportsでかくにんできます。
# cat /proc/ioports
0000-001f : dma1
0020-0021 : pic1
0040-0043 : timer0
0050-0053 : timer1
0060-0060 : keyboard
0064-0064 : keyboard
0070-007f : rtc0
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : 0000:00:1f.1
0170-0177 : ICH2
01f0-01f7 : 0000:00:1f.1
01f0-01f7 : ICH2
0376-0376 : 0000:00:1f.1
0376-0376 : ICH2
0378-037a : parport0
03c0-03df : vga+
03f2-03f5 : floppy
03f6-03f6 : 0000:00:1f.1
03f6-03f6 : ICH2
03f7-03f7 : floppy DIR
03f8-03ff : serial
0800-087f : 0000:00:1f.0
0800-085f : pnp 00:09
0800-0803 : ACPI PM1a_EVT_BLK
0804-0805 : ACPI PM1a_CNT_BLK
0808-080b : ACPI PM_TMR
0810-0815 : ACPI CPU throttle
0828-082b : ACPI GPE0_BLK
0880-08bf : 0000:00:1f.0
0c00-0c7f : pnp 00:09
0cf8-0cff : PCI conf1
dcd0-dcdf : 0000:00:1f.3
dcd0-dcdf : i801_smbus
e000-efff : PCI Bus 0000:02
e880-e8ff : 0000:02:09.0
ec00-ec7f : 0000:02:08.0
ecd8-ecdf : 0000:02:07.1
ecd8-ecdf : emu10k1-gp
ece0-ecff : 0000:02:07.0
ece0-ecff : EMU10K1
ff60-ff7f : 0000:00:1f.4
ff60-ff7f : uhci_hcd
ff80-ff9f : 0000:00:1f.2
ff80-ff9f : uhci_hcd
ffa0-ffaf : 0000:00:1f.1
ffa0-ffaf : ICH2
上記のとおり、各アドレスは、16bit分のアドレスが確保されます。
最終更新:2009年04月17日 23:17