IRQ`s ~ ISA interrupts versus PCI interrupts

written by: Tom Dickens; article published: year 2006, month 11;


In: Categories » Computers and technology » Memory Processor Motherboards and buses » IRQ`s ~ ISA interrupts versus PCI interrupts

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 doesn't 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.

legal disclaimer

1) Our website is not responsible for the information contained by this article as well for any and all copyright infringements by authors and writers. E-articles is a free information resource. If you suspect this article for any copyright infringements, please read the Terms of service and contact us to investigate the problem.
2) The E-articles directory team is not responsible for inaccuracies, falsehoods, or any other types of misinformation this tutorial may contain and will not be liable for any loss or damage suffered by a user through the user's reliance on the information gained here. Please read the Terms of service

Useful tools and features

Translate this article to...    Send this article to you or to a friend

Link to this article from your page   
If you like this article (tutorial), please link to it from your web page using the information above. Linking to this page, this is the only way to help us improve our service, the same time providing your visitors with a way to improve their online experience.

related articles

1. The evolution of Microprocessors from 1971 to the Present
It is interesting to note that the microprocessor had existed for only 10 years prior to the creation of the PC! Intel invented the microprocessor in 1971; the PC was created by IBM in 1981. Now more than 20 years later, we are still using systems based more or less on the design of that first PC. The processors powering our PCs today are still backward compatible in many ways with the 8088 that IBM selected for the first PC in 1981. November 15, 2001 marked the 30th anniversary of the microprocessor, and in those 30 years processor ...

2. RDRAM
Rambus DRAM (RDRAM) is a fairly radical memory design found in high-end PC systems from late 1999 through 2002. Intel signed a contract with Rambus in 1996 ensuring it would support RDRAM into 2001. After 2001, Intel continued to support RDRAM in existing systems, but new chipsets and motherboards primarily shifted to DDR SDRAM, and all future Intel chipsets and motherboards are being designed for either conventional DDR or the newer DDR2 standard. RDRAM standards had been proposed that will support faster processors through 2006; however, w...

3. Processor Codenames
Intel, AMD, and Cyrix have always used codenames when talking about future processors. The codenames usually are not supposed to become public, but they typically do. They can often be found in online and print news and magazine articles talking about future-generation processors. Sometimes, they even appear in motherboard manuals because the manuals are written before the processors are officially introduced. Processor Coden...

4. What is UMA ~ Upper Memory Area
The term Upper Memory Area (UMA) describes the reserved 384KB at the top of the first megabyte of system memory on a PC/XT and the first megabyte on an AT-type system. This memory has the addresses from A0000 through FFFFF. The way the 384KB of upper memory is used breaks down as follows: The first 128KB after conventional memory is called video RAM. It is reserved for use by video adapters. When text and graphics are displayed onscreen, the data bits that make up those images reside in this space. Video RAM is allotted t...

5. Memory Basics ~ ROM DRAM SRAM Cache Memory
Memory is the workspace for the computer's processor. It is a temporary storage area where the programs and data being operated on by the processor must reside. Memory storage is considered temporary because the data and programs remain there only as long as the computer has electrical power or is not reset. Before being shut down or reset, any data that has been changed should be saved to a more permanent storage device (usually a hard disk) so it can be reloaded into memory in the future. Memory often is called RAM, for random acce...

6. What are Dual Core Processors. Advantages of Dual Core Processor
No matter how fast a conventional single-core processor operates or how much RAM is installed in a system, it must ensure that each program and process that is running is properly serviced. As more and more programs are opened, the amount of time the processor can devote to each program is reduced. The result is that system performance declines. Workstations and servers have long enjoyed the benefits of multiple processors, including better responsiveness when multitasking, faster performance in single multithreaded applications, and better ...

7. How to install RAM Upgrades
Adding memory to a system is one of the most useful upgrades you can perform and also one of the least expensiveespecially when you consider the increased capabilities of Windows 9x/Me, Windows NT/2000/XP, and Linux when you give them access to more memory. In some cases, doubling the memory can practically double the speed of a computer. The following sections discuss adding memory, including selecting memory chips, installing memory chips, and testing the installation. Upgrade Options and Strategies...

8. Video RAM Memory
A video adapter installed in your system uses a portion of your system's first megabyte of memory to hold graphics or character information for display, but this typically is used or active only when in basic VGA mode. Note that even though a modern video card can have 256MB or more of onboard memory, only 128KB of this memory appears available to the system in the video RAM area. The rest of the memory is accessible only by the video processor (on the video card) directly, or by your system processor via a memory aperture positioned...

9. How Math Coprocessors work (Floating Point Units)
This article covers the floating-point unit (FPU) contained in the processor, which was formerly a separate external math coprocessor in the 386 and older chips. Older central processing units designed by Intel (and cloned by other companies) used an external math coprocessor chip. However, when Intel introduced the 486DX, it included a built-in math coprocessor, and every processor built by Intel (and AMD and Cyrix, for that matter) since then includes a math coprocessor. Coprocessors provide hardware for floating-point math, which otherwis...

10. P2 (286) Second Generation Processors
The second generation of PC processors allowed for a great leap in system speed and processing efficiency. With these chips we went from moving 8 bits of data around to moving 16 bits at a time. The following section details the second-generation PC processor, the 286. 286 Processors The Intel 80286 (normally abbreviated as 286) processor did not suffer from the compatibility problems that damned the 80186 and 80188. The 286 chip, first introduced in 1982, is the CPU behind the original IBM PC AT (Advanced Technology). Othe...