Input/output base address

In the x86 architecture, an input/output base address is the first I/O address of a range of consecutive read/write addresses that a device uses on the x86's I/O bus. This base address is sometimes called an I/O port.

Common I/O base address device assignments in IBM PC compatible computers

This table represents the common I/O address ranges for device assignments in IBM PC compatible computers. The base address is the first in each range. Different types of devices can vary in the number of I/O ports they need for communication with the CPU, therefore the extent of the address range varies. Also, address decoders often do not decode all address bits, causing the necessary I/O address range window to be larger than necessary or mirrored to other addresses as well. Each row of the table represents a device or chip within the computer system. For example, the address of the status port in a parallel printer adapter is at 0x0001. Depending on the adapter's configuration, this may be mapped in at different locations within the PC's I/O address range. Assuming, the adapter would present a third parallel port (with base address 0x0278), this would result in the status port mapped in at 0x0279 in the CPU'S I/O address space.

When there are two or more identical devices in a computer system, each device would be mapped to a different base address (e.g. LPT2 and LPT3 for printers).

I/O address rangeDevice
00 – 1FFirst DMA controller 8237 A-5
20 – 3FFirst Programmable interrupt controller, 8259A,
40 – 5FProgrammable interval timer (System Timer), 8254
60 – 6FKeyboard, 8042
70 – 7FReal-time clock, NMI mask
80 – 9FDMA Page Register, 74LS612
87DMA Channel 0
83DMA Channel 1
81DMA Channel 2
82DMA Channel 3
8BDMA Channel 5
89DMA Channel 6
8ADMA Channel 7
8FRefresh
A0 – BFSecond Programmable interrupt controller, 8259A, Slave
C0 – DFSecond DMA controller 8237 A-5
F0Clear 80287 Busy
F1Reset 80287
F8 – FFMath coprocessor, 80287
F0 – F5PCjr Disk Controller
F8 – FFReserved for future microprocessor extensions
100 – 10FPOS Programmable Option Select (PS/2)
110 – 1EFSystem I/O channel
140 – 15FSecondary SCSI host adapter
170 – 177Secondary Parallel ATA Disk Controller
1F0 – 1F7Primary Parallel ATA Hard Disk Controller
200 – 20FGame port
210 – 217Expansion Unit
220 – 233Sound Blaster and most other sound cards
278 – 27FParallel port 3
280 – 29FLCD on Wyse 2108 PC SMC Elite default factory setting
2B0 – 2DFAlternate Enhanced Graphics Adapter (EGA) display control
2E8 – 2EFSerial port 4
2E1GPIB/IEEE-488 Adapter 0
2E2 – 2E3Data acquisition
2F8 – 2FFSerial port 2
300 – 31FPrototype Card
300 – 31FNovell NE1000 compatible Ethernet network interfaces
300 – 31FAMD Am7990 Ethernet network interface, IRQ=5.
320 – 323ST-506 and compatible hard disk drive interface
330 – 331MPU-401 MIDI processing unit on most sound cards
340 – 35FPrimary SCSI host adapter
370 – 377Secondary floppy disk drive controller
378 – 37FParallel port 2
380 – 38CSecondary Binary Synchronous Data Link Control (SDLC) adapter
388 – 389AdLib Music Synthesizer Card
3A0 – 3A9Primary Binary Synchronous Data Link Control (SDLC) adapter
3B0 – 3BBMonochrome Display Adapter (MDA) display control
3BC – 3BFParallel port 1 on MDA card
3C0 – 3CFEnhanced Graphics Adapter (EGA) display control
3D0 – 3DFColor Graphics Adapter (CGA)
3E8 – 3EFSerial port 3
3F0 – 3F7Primary floppy disk drive controller. Primary IDE controller (second I/O range) (3F6–3F7h)
3F8 – 3FFSerial port 1
CF8 – CFCPCI configuration space

Note: For many devices listed above the assignments can be changed via jumpers, DIP switches, or Plug-And-Play software.

See also

  • IRQ - interrupt request

References

  • HelpPC Quick Reference Utility by David Jurgens
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.