Flux rss

Hardware Interrupts (IRQ) and Conflicts

The Concept of Interrupts

Because the processor cannot simultaneously process several pieces of information (it processes one piece of information at a time), a program being run can, thanks to an interrupt request, be momentarily suspended while an interrupt takes place. The interrupted program can then continue running. There are 256 different interrupt addresses.

An interrupt becomes a hardware interrupt when it is requested by one of the computer's hardware components. There are many peripherals in a computer. These peripherals generally need to use the system resources if only to communicate with the system itself.

When a peripheral wants to access a resource, it sends an interrupt request to the processor in order to get its attention. The peripherals have an interrupt number that is called an IRQ (Interruption ReQuest. It is as if each peripheral pulls a "string" that is attached to a bell in order to tell the computer that it wants the computer to pay attention to it.

This "string" is in fact a physical line that links each expansion slot as well as each I/O interface to the motherboard. For an 8-bit ISA slot, for example, there are 8 IRQ lines that link the 8-bit ISA slots to the motherboard (IRQ0 to IRQ7). These IRQs are controlled by an "interrupt controller" that is in charge of allowing the IRQ with the greatest priority "to speak".

When 16-bit slots were introduced, IRQs 8 to 15 were added, as was a second interrupt controller. The two groups of interrupts are linked by IRQ 2 which is connected (or "cascaded") to IRQ 9. In a way, this cascade "inserts" IRQs 8 to 15 between IRQs 1 and 3:

IRQ2 - Cascade

Given that priority goes from lowest to highest IRQ, and IRQs 8 to 15 are inserted between IRQs 1 and 3, the order of priority is as follows:

0 > 1 > 8 > 9 > 10 > 11 > 12 > 13 > 14 > 15 > 3 > 4 > 5 > 6 > 7

DMA

The peripherals regularly need to "borrow memory" from the system in order to use it as a buffer zone, i.e. a temporary storage area that allows I/O data to be quickly saved.

Thus, a direct memory access channel, called a DMA (Direct Memory Access was defined as a solution to this.

The DMA channel indicates an access to one of the computer's random access memory (RAM) slots, located by a "RAM Start Address" and an "end address". This method allows a peripheral to borrow special channels that give it direct access to the memory, without the intervention of the microprocessor, in order to unload these tasks.

A PC has 8 DMA channels. The first four DMA channels have an 8-bit bandwidth while DMAs 4 to 7 have a 16-bit bandwidth.

The DMA channels are generally assigned as follows:

  • DMA0 - free
  • DMA1 - (sound card)/ free
  • DMA2 - floppy disk controller
  • DMA3 - parallel port (printer port)
  • DMA4 - direct memory access (DMA) controller
    (connected to DMA0)
  • DMA1 - (sound card)/ free
  • DMA6 - (SCSI)/ free
  • DMA7 - available

Base Addresses

Sometimes peripherals need to exchange information with the system, which is why memory addresses were assigned to them for the sending and receiving of data. These addresses are called "base addresses" (the following terms are also sometimes used: "input/output ports", "I/O ports", "I/O addresses", "I/O port addresses", or "base ports").

It is by using this base address that the peripheral can communicate with the operating system. Therefore, there is only one unique base address for each peripheral.

Here is a list of some common base addresses:

  • 060h - keyboard
  • 170h/376h - secondary IDE controller
  • 1F0h/3F6h - primary IDE controller
  • 220h - sound card
  • 300h - network card
  • 330h - SCSI adapter card
  • 3F2h - disk drive controller
  • 3F8h - COM1
  • 2F8h - COM2
  • 3E8h - COM3
  • 2E8h - COM4
  • 378h - LPT1
  • 278h - LPT2

However, all of these elements are user-transparent, i.e. users do not have to worry about them.

Hardware Conflicts

An interrupt is a line that links the peripheral to the processor. An interrupt is a hardware interrupt when it is requested by one of the PC's hardware components. For example, this is the case when a key is touched and the keyboard wants to get the processor's attention for this event. However, all 256 interrupts cannot be requested as hardware interrupts and different peripherals always make very specific interrupts.

Thus, when expansion boards are installed, you must make sure during configuration that the same interrupt is not used for two different peripherals. If this were to happen, a "hardware conflict" would occur and neither peripheral would function.

Indeed, if two peripherals use the same interrupt, the system will not know how to distinguish between them. A hardware conflict does not only occur when two peripherals have the same hardware. A conflict can also occur when two peripherals have the same I/O address or use the same DMA channels.

IRQ Configuration

The IRQ of an expansion board can be modified in order to assign it an IRQ number that is not being used by another peripheral.

  • On older peripherals, this IRQ number is attached to jumpers that are on the board.
  • On recent boards (that have a BIOS Plug & Play), resource (IRQ, DMA, I/O addresses) parametering is automatic. It can also be carried out by the OS or with the help of utilities provided with the expansion board. The plug & play mode must sometimes be deactivated in order to be able to modify the parameters manually.
It is still not easy to find available resources for all peripherals. Here then is a non-exhaustive list of resources that are generally used, which therefore cannot be assigned manually:

IRQ Peripheral
0 Internal Clock
1 keyboard
2 programmable interrupt controller
Cascade to IRQs 8 to 15
3 COM2/COM4 communications port
4 COM1/COM3 communications port
5 free
6 floppy disk controller
7 LPT1 printer port
8 CMOS (Real-time clock)
9 free
10 free
11 free
12 PS2 mouse port/free
13 numeric data processor (math coprocessor)
14 primary hard drive controller (IDE)
15 secondary hard drive controller (IDE)

The COM1 and COM4 ports as well as the COM2 and COM3 ports use the same interrupts. This may seem illogical in that the same interrupt cannot be used by two peripherals. In reality, it is possible to use the COM1 port as well as the COM4 port (as well as the COM2 port and the COM3 port) so long as the are not active at the same time. Otherwise, the computer might freeze or function abnormally.

Resolving Hardware Conflicts

If you have a hardware problem, first try to isolate the problem in order to determine which peripheral is causing the problem. This means that you must attempt to eliminate as many variables as possible until you discover which element is responsible:

  • by opening the computer casing and removing one by one the elements that might have caused the conflict
  • by deactivating the software in the OS in order to deactivate the peripherals


Last update on Thursday October 16, 2008 02:43:13 PM.
This document entitled « Hardware Interrupts (IRQ) and Conflicts » from Kioskea (en.kioskea.net) is made available under the Creative Commons license. You can copy, modify copies of this page, under the conditions stipulated by the licence, as this note appears clearly.
Hardware interrupts and conflicts Since the processor cannot process multiple pieces of data at the same time (it processes one piece of data a time, multitasking is actually the alternation of instruction snippets from several different tasks), a currently running program can be... en.kioskea.net/repar/irq.php3
PCI-E 16 xs or 1x Hello, Can anyone tell me how to verify that PCI-E bus is set to 16x and not 1x? Do you have any idea? Thanking you in advance. en.kioskea.net/forum/affich-13535-pci-e-16-xs-or-1x
Where to find a user guide/ manual for your hardware Where to find a user guide/ manual for your hardware Users Manual Guide Teletronics International Ink Diplodocs.com Manual and Guide If you have lost some of the user manuals that you have been supplied with upon the purchase of a... en.kioskea.net/faq/sujet-337-where-to-find-a-user-guide-manual-for-your-hardware
Expand your Desktop over multiple monitorsExpand your Desktop over multiple monitors Hardware Requirements Software Requirements How to proceed If you are using Windows and want to enlarge your current desktop without having to buy another huge screen, this is possible by... en.kioskea.net/faq/sujet-352-expand-your-desktop-over-multiple-monitors
What is a plug-in ?What is a plug-in ? A plug-in is a hardware or software module for computer program that that a specific feature to a larger system. A plug-in allow to display different types of audio or video messages. In other words, a plug-in allows you to... en.kioskea.net/faq/sujet-311-what-is-a-plug-in
Routers devices can’t be hackedRouters devices can’t be hacked Myth Reality Myth The fact that routers and firewall devices (hardware) don’t possess an operating system, it implies that cannot be hacked. Reality Router devices can be considered as small... en.kioskea.net/faq/sujet-615-routers-devices-cana-t-be-hacked
Problem installing new hardware deviceHello, I am using Windows XP Pro on my desktop. My computer has difficulty in installing new hardware. For instance, I just installed software (Dazzle DVD recorder) to be able to burn VHS video onto DVDs. I first installed the software and restarted... en.kioskea.net/forum/affich-10598-problem-installing-new-hardware-device
PS3/PC IP address conflictWhat's up! When I am using my PS3 and my computer at the same time it says "Windows system error"... Seems there is an IP address conflict with another system on the network but my PS3 work's fine and my nat type is 2 my pc is also working... en.kioskea.net/forum/affich-152-ps3-pc-ip-address-conflict
Hardware accelerationHello, I just got a redone version of MVP 2005 fully updated, but when I try to play it it get the following message: "MVP 2005 requires Direct X 9 and hardware graphics acceleration" I have Dirext X9 and Have an HP Pavilion a1224n Any suggestions on... en.kioskea.net/forum/affich-23685-hardware-acceleration
Download Notebook Hardware ControlNotebook Hardware Control is acomponent control tool of your Notebook. - It controls your system power management. - It personalizes Notebook (open source). - It prolongs the life time of the battery. - It cools down the system by reducing the... en.kioskea.net/telecharger/telecharger-1679-notebook-hardware-control
Download EverestEVEREST Home Edition is a freeware hardware diagnostics and memory benchmarking solution for home PC users. It offers the world's most accurate hardware information and diagnostics capabilities, including online features, memory benchmarks, hardware... en.kioskea.net/telecharger/telecharger-53-everest
Download Internet Download ManagerInternet Download Manager (IDM) is an administrator of downloading. He allows to speed up the normal speed until 5 times and to manage your downloads on Absentee.The utility takes care of the resumption of interrupted downloading and also allows to... en.kioskea.net/telecharger/telecharger-886-internet-download-manager
Geeks camp out at Brazilian tech-festA child plays video games during the Campus Party, the world's biggest on-line electronic entertainment event, at the Biennial Pavilion, in Sao Paulo, Brazil. Some 3,000 Latin American computer geeks, many lugging their own hardware, are holding... en.kioskea.net/actualites/geeks-camp-out-at-brazilian-tech-fest-10111-actualite.php3
Geeks camp out at Brazilian tech-festA child plays video games during the Campus Party, the world's biggest on-line electronic entertainment event, at the Biennial Pavilion, in Sao Paulo, Brazil. Some 3,000 Latin American computer geeks, many lugging their own hardware, are holding... en.kioskea.net/actualites/geeks-camp-out-at-brazilian-tech-fest-10112-actualite.php3
Network equipment - The hub A hub is an element of hardware for centralising network traffic coming from multiple hosts, and to propagate the signal. The hub has a certain number of ports (it has enough ports to link machines to one another, usually 4, 8, 16 or 32). Its only... en.kioskea.net/lan/concentrateurs.php3
Networking - topologies A computer network is made of computers which are linked to one another with communication lines (network cables, etc.) and hardware elements (network adapters, as well as other equipment for ensuring that data travels correctly). The physical... en.kioskea.net/initiation/topologi.php3
PC Assembly A PC computer is a modular type of computer, it can be assembled using hardware components made by different manufacturers, so as to have a custom built computer according to one's specific needs. The following components are available when building... en.kioskea.net/assemblage/monter.php3