Irqs isa interrupts versus pci interrupts

Entry Notes

Posted: 11222006
Author: Tom Dickens
Category: Memory Processor Motherboards and buses

ISA and PCI handle interrupts very differently. ISA expansion cards are configured manually for IRQ, usually by setting a jumper, but sometimes by running a setup program. All ISA slots have all IRQ lines present, so it does not matter which card is placed in which slot. ISA cards use edge-sensitive interrupts, which means that an ISA device asserts a voltage on one of the interrupt lines to generate an interrupt. That in turn means that ISA devices cannot share interrupts because when the processor senses voltage on a particular interrupt line, it has no way to determine which of multiple devices might be asserting that interrupt. For ISA slots and devices, the rule is simple: two devices cannot share an IRQ if there is any possibility that those two devices may be used simultaneously. In practice that means that you cannot assign the same IRQ to more than one ISA device.

PCI cards use level-sensitive interrupts, which means that different PCI devices can assert different voltages on the same physical interrupt line, allowing the processor to determine which device generated the interrupt. PCI cards and slots manage interrupts internally. A PCI bus normally supports a maximum of four PCI slots, numbered 1 through 4. Each PCI slot can access four interrupts, labeled INT#1 through INT#4 (or INT#A through INT#D). Ordinarily, INT#1/A is used by PCI Slot 1, INT#2/B by Slot 2, and so on.

AGP cards support only INT#1/A and INT#2/B, and share with PCI Slot 1. If a PCI Slot 5 exists, it shares with Slot 4. In either case, with slots that share resources, avoid installing cards in both slots if both cards require the same shared resource. If you must use both slots, install only cards that can share an IRQ. If you encounter a conflict on a PCI system, simply moving cards to different slots often solves the problem.

Bridging circuitry within the chipset allows additional PCI or other busses to be cascaded from the primary PCI bus. For example, the PCI-to-ISA bridge present in most current chipsets allows cascading an ISA bus from the primary PCI bus. One function of the bridging circuitry is to convert PCI interrupts to ISA interrupts when a PCI device needs to get the processor's attention. PCI interrupts do not correspond directly to ISA IRQs, although an INT# can be mapped to an IRQ via the PC's interrupt handler if the card using that INT# requires an IRQ. Some configuration firmware restricts mapping PCI interrupts to IRQ 09, 10, or 11 or to Auto, while others allow mapping any INT# to any available IRQ.

In general, leave INT-IRQ mapping for all PCI slots set to Auto unless you have good reason to assign a specific IRQ. Sometimes a card with a dynamically mapped IRQ may work fine with some programs and not others. For example, many older games expect to find a sound card at IRQ 05. If you have a PCI/Plug and Play sound card installed in PCI Slot 3, you can use INT-IRQ mapping to assign IRQ 05 to that slot and card, keeping the old games happy.

PCI expansion cards are normally assigned an IRQ dynamically, either by the BIOS or by the operating system, depending on the version of Windows (or Linux) being used and the PCI/Plug and Play configuration options in effect. On bridged PCI-ISA systems, ISA IRQs 00, 01, 02, 08, and 13 are reserved for critical system functions. IRQs 03 through 07, 09 through 12, 14, and 15 can each be programmed using the CMOS Setup PCI/Plug and Play configuration utility as being owned by either the PCI bus or the ISA bus, but not both. The terminology for this varies. Some utilities allow you to specify each IRQ as PCI/ISA Plug and Play or Legacy ISA (or similar words). Others allow you to specify each IRQ as Level-Sensitive or Edge-Sensitive (or similar words). In either case, the effect is the same.

If you are installing a "legacy" card (i.e., a non-Plug and Play ISA card), you can use static IRQ mappings to assign a specific IRQ to that card. For example, if you install an old ISA sound card that requires IRQ 05, use the PCI/Plug and Play configuration utility to set IRQ 05 for Legacy ISA or Edge-Sensitive, thereby reserving that IRQ for that card.

Do not confuse mapping PCI INT# interrupts to ISA IRQs with allocating IRQs to the ISA or PCI bus. The two are entirely unrelated. Use the former to "lock down" a PCI slot/card to a specific IRQ—for example, to allocate IRQ 05 to a PCI sound card. Use the latter to reserve IRQs for ISA devices—for example, to reserve IRQ 05 for an ISA sound card. Confusing these functions may cause lockups or other strange behavior. In general, the best way to prevent conflicts is to avoid installing ISA cards in PCI systems.

Related Articles

1. Direct Memory Access and ISA DMA channel assignments
Direct Memory Access (DMA) is a means by which devices can...

2. How to install modern socketed processors
Installing recent socketed processors—the Intel Pentium III/4/Cele...

3. How to install a Slotted Processor
Although mainstream slotted processors are now obsolescent, they remain ...

4. Memory Access Methods
PC memory may use the following access methods: ...

5. Guidelines on installing SIMM and DIMM memory into a computer
Installing a SIMM or DIMM module is straightforward. Most recent motherb...

All articles in this directory are property of their respective authors.
Contact us | Terms of Service | Privacy Policy

© 2012 - All Rights Reserved.