Resources Required by Serial Ports

Each standard serial port requires an IRQ and an I/O port. The serial port generates an interrupt on its assigned IRQ to get the processor’s attention when it has data to transfer. The I/O port is a range of addresses, named for the first address in the range, that defines a “scratchpad” area that the serial port uses to exchange data with the computer. For example, I/O Port 0x3F8 includes the address range 0x3F8 through 0x3FF.

Serial ports are named COM[xxx]:, where [xxx] may be a number from 1 through 256. Although the serial port name technically includes the trailing colon, the colon is usually dropped for convenience, and that is the practice we follow. IBM originally defined only COM1 and COM2 for the PC BIOS, although it later defined standard values for COM3 and COM4 as well. Table 22-3 lists the standard COM port assignments for ISA/PCI systems. (Systems that use the EISA or MCA bus use additional COM ports with different settings, but these systems are obsolete and immaterial.) The values for COM1 and COM2 are invariant due to long usage. The values for COM3 and COM4 are semistandard, but may differ on some systems.

Table 22-3. Standard COM port assignments on ISA/PCI-based systems

Port Name

Base address

I/O port range

IRQ

COM1

0x3F8

0x3F8 - 0x3FF

4

COM2

0x2F8

0x2F8 - 0x2FF

3

COM3

0x3E8

0x3E8 - 0x3EF

4

COM4

0x2E8

0x2E8 - 0x2EF

3

Note that ports 1 and 3 and ports 2 and 4 share an IRQ. Although EISA and MCA systems permit ...

Get PC Hardware in a Nutshell, 3rd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.