PC Serial Ports
A-4
In the PC architecture, IRQs acts like the doorbell in our analogy: They
provide a method by which hardware devices in the computer can get the
microprocessor's attention to deal efficiently with some process. The serial
port hardware makes use of an IRQ to announce that it is ready to receive
more outgoing data and/or that new data have arrived from the peripheral
device that need to be processed.
Like I/O port addresses, IRQs must generally be unique among the active
hardware devices in a computer system. In the mailbox analogy, the doorbell
is probably not a good signal since virtually anyone could ring the doorbell for
any number of reasons, not just to indicate the arrival of mail. Similarly, if a
particular IRQ signal is used (PCs generally support 16 unique IRQ signals,
denoted IRQ0, IRQ1, and so on, up through IRQ15), the microprocessor must
take the appropriate action for the device associated with that IRQ. If there
is a mix-up, or if more than one device attempts to use the same IRQ at the
same time, a conflict occurs, and the outcome is often unpredictable and
usually undesirable (for example, the computer may "hang"). Because IRQs
are a limited resource, some newer PCs support IRQ sharing, a hardware
mechanism that permits more than one device to make use of the same IRQ,
but most PCs do not. For example, all PCs that use IBM's MicroChannel
Architecture (MCA) support IRQ sharing, as do most PCs that use the
Enhanced Industry Standard Architecture (EISA) design. However, most PCs
in the marketplace -- even new models -- are based on the traditional Industry
Standard Architecture (ISA), which generally does not support IRQ sharing.
NOTE:
IRQ sharing is a PC feature. If your PC supports IRQ sharing, you can
put two COM ports on one IRQ. You will not encounter the types of
complications that this appendix addresses if your PC supports IRQ
sharing.
The specific I/O port address and IRQ that a particular serial port uses is
determined by the hardware configuration of the serial port. Generally, these
parameters cannot be changed for built-in serial ports, but add-on cards
containing serial ports often provide jumpers or switches that can be used to
configure them to use one of several I/O port addresses and IRQ
combinations.