PC Hardware

COM and Ports

IBM created preset combinations of IRQs and I/O addresses for serial and parallel devices. These preset combinations are called ports. The word "port" simply means a portal or two-way access. The preset combinations are called COM ports for serial devices and LPT ports for parallel devices.

The purpose of a port is to make installation easier. Modems and printers, therefore, do not require IRQ or I/O settings. When assigned to an active port (as long as no other device is using that port), they will work. The following table lists standard ports.

Port I/O Address IRQ
COM1 3F8 4
COM2 2F8 3
COM3 3E8 4
COM4 2E8 3
LPT1 378 7
LPT2 278 5

Most computers are manufactured to offer built-in physical ports with cable connections available either directly to the motherboard or in an expansion slot. In this case, the standard port addresses and IRQs are assigned to them. This makes it possible to install an external device simply by plugging in the port and assigning addresses to the device. If necessary, these ports can be disabled (by using CMOS setup), freeing their I/O addresses and IRQs for another device.

For example, suppose you want to install a new internal modem on a machine that has two external serial ports on the motherboard. By disabling one of these ports, you have made its address and IRQ available for use by the internal device. Simply assign the device to the now-free port.

Installation Problems with COM Ports

Assume you have a modem set to COMl. You buy a network card that comes out of the box with a default setting of IRQ 4. You realize the network card and the modem will conflict, and the computer will lock up. What do you do?

You will have to change the IRQ on one of the devices. The network card is probably the best choice, because the modem is installed and already working.

COM Ports

The original 8088-based IBM PCs were equipped with two serial ports: COMl, set to IRQ4, and COM2, set to IRQ3. While those two IRQs are still the standard for COM ports 1 and 2, many BIOS routines will allow different IRQ assignments or even allow an unused port to be disabled. Because of the limited number of IRQ addresses available, any additional COM ports would have to share IRQs with existing ports. COM3 shared the interrupt of COM1 (IRQ4), and COM4 shared the interrupt of COM2 (IRQ3). To enable use of these additional ports, COM3 was assigned I/O address 3E8-3EF, and COM4 was assigned I/O address 2E8-2EF. This sharing was possible because the IRQ-sharing devices would be unlikely to use them at the same time.

Today we have many other ways of adding printers and other peripherals to PCs, but such conflicts can still be a problem with modems and UPS (uninterruptible power supply) devices that might need simultaneous access.

The first rule for setting IRQs is to ensure that two devices never share the same IRQ. The only exception is that two (or more) devices can share an IRQ if they never "talk" at the same time! Common IRQ conflicts occur between a serial mouse, sound card, modem, and/or serial printer. (Remember that PCI devices can share an IRQ if it is managed by the same PCI controller.)

LPT Ports

LPT ports are for parallel data connections. The name is derived from their original use with printers (LPT-line printer). The original IBM standard LPT port did not provide bidirectional communications (talkback) and was designed solely for one-way data streams to a printer. The standard addresses are IRQ 7 for LPT1 and IRQ 5 assigned to LPT2, if it is present. IRQ 5 quickly became the favorite for devices like sound cards and other add-ons. Today, many devices are made that can use the parallel plug in the back of a computer, thus reducing costs. These devices (tape backups, SCSI drives, or modems) use bidirectional communication and, therefore, need an interrupt. This situation is easing as USB connections replace many of the parallel designs.