Each device has a memory address called an I/O address. The address acts like a mailbox that the processor uses to send instructions to the device. The I/O address is also commonly called the port address.
port address
An address used by the computer to access devices such as expansion cards and printers.
When the CPU sends instructions to this address, the device reads the instructions and carries them out. But the device does not talk to the processor through the same mechanism. It uses the interrupt assigned to it to request service or additional instructions from the processor.
Each device must have a unique I/O address so that the correct device receives the instructions from the processor. Some older devices are coded to use only one I/O address and cannot be changed.
Most PCs are designed to support more than one I/O address for a device. This feature helps prevent a conflict between two similar devices, such as the COM ports that share the same interrupt. The two ports would have separate I/O addresses, thus preventing a clash between them.
If your device does not support an I/O address that is available (not in use by another device), you may select an address used by another device, provided you can change the other device's address to an available I/O address.
Tip | Always note the addresses your system uses, to make life easier when you're troubleshooting or adding a new device. |
This table shows the typical I/O address assignments.
System Device | Memory Address |
---|---|
DMA controller | 000-01F |
Interrupt controller | 020-03F |
Timer | 040-05F |
Keyboard | 060-06F |
Real-time clock | 070-07F |
DMA page register | 080-09F |
Second interrupt controller | 0A0-0BF |
DMA controller 2 | 0C0-0DF |
Math coprocessor | 0F0-0FF |
Primary hard disk controller | 1F0-1F8 |
Joystick controller | 200-20F |
XT expansion unit | 210-217 |
FM synthesis interface | 220-22F |
CD-ROM I/O port | 230-233 |
Bus mouse | 238-23B |
Plug-and-Play I/O port | 274-277 |
LPT2 (second parallel port) | 278-27F |
COM 4 (serial port 4) | 2E8-2EF |
COM 2 (serial port 2) | 2F8-2FF |
Available | 280-31F |
XT hard disk controller | 320-32F |
MIDI port | 330-33F |
Alternate floppy controller | 370-377 |
LPT1 (primary printer port) | 378-37F |
LPT3 (third parallel port) | 3BC-3BF |
Color graphics adapter (CGA, EGA, VGA) | 3D0-3DF |
COM 3 (serial port 3) | 3E8-3EF |
Floppy-disk controller | 3F0-3F7 |
COM 1 (serial port 1) | 3F8-3FF |
|
|