Two address spaces are provided: memory address space and I/O address space. Depending on the device, registers may appear in one or both of these address spaces. Table 2-3 shows the registers for memory and I/O address spaces in the ISA bus.
Table 2-3 ISA Bus Address Space
ISA Space Name |
Address Size |
Data Transfer Size |
Physical Address Range |
---|---|---|---|
Main memory |
24 |
16 |
0x0-0xffffff |
I/O |
-- |
8/16 |
0x0-0xfff |
Registers can be mapped in memory address space and used by the driver as normal memory (see "Memory Space Access").
Registers in I/O space are accessed through I/O port numbers using separate kernel routines. See "I/O Space Access" for more information.