You are on page 1of 6

you follow this tutorial you must read the terms of our disclaimer.

What is an IRQ?

IRQ stands for Interrupt ReQuest and refers to special numbered channels that are used
by devices to get the processors attention.

For example, when you press a key on your keyboard this sends a signal to the processor
via an IRQ channel (usually IRQ 1) to let it know that it needs to process some data.

IRQ conflicts can occur when new hardware is installed or reconfigured, for example, it
can cause problems if you have your mouse on COM 1 (IRQ4) and a modem on COM 3
(IRQ4), below is a list of the default assignments for IRQ channels in Windows XP.

Default ISA IRQ Assignments


IRQ 0 System Timer
IRQ 1 Keyboard
IRQ 2 Cascaded with IRQ 9
IRQ 3 Default COM2 and COM4
IRQ 4 Default COM1 and COM3
IRQ 5 LPT2
IRQ 6 Floppy Drive Controller
IRQ 7 LPT1
IRQ 8 Real Time Clock
IRQ 9 SEE 2
IRQ 10 Open
IRQ 11 Open
IRQ 12 PS/2 mouse or Open
IRQ 13 Math Coprocessor
IRQ 14 Primary Hard Drive controller
IRQ 15 Secondary Hard Drive controller

back to top | © Copyright 2001-2009 helpwithpcs.com


Viewing your current IRQ assignments
To view your current IRQ assignments you can open Device Manager.

Click on START, click on CONTROL PANEL.


Click on Performance and Maintenance.
Click on System.
Click on the Hardware tab.
Click the DEVICE MANAGER button.
Once you have Device Manager open, select VIEW from the toolbar menu and then
click Resources by Type.

Double click on Interrupt Request (IRQ) as seen in fig 1.1 below:


The list that appears on your machine will vary depending on the hardware you have.

If you are experiencing problems with a newly installed/configured piece of hardware


and the drivers are installed correctly then check to see if it has its own IRQ channel.
back to top | © Copyright 2001-2009 helpwithpcs.com
Changing IRQ Settings
Warning: Changing system resources such as IRQ channels can result in your computer
not functioning correctly, always make a note of the settings before you change anything
so you can restore them back if required.
If you do have a conflict and need to change an IRQ setting:
Right click on the device in the list (see above) and then select properties.
Click the Resources tab.
Remove the tick from the Use automatic settings option.
Select a non-conflicting configuration from the pull down box.
Click OK
You may find you cannot manually change your IRQ settings (the Use automatic settings
will be greyed out), this is usually related to the ACPI function used by Win XP.

To resolve conflicts with PCI or ISA cards try manually setting them in your
motherboard's BIOS or try a different slot for the newly installed device, you will usually
find that by changing the slot you will change the IRQ channel as well.

Hardware Interrupts (IRQ) and Conflicts NextScreen/Monitor


Bookmark & Share

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:

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:
IR
Peripheral
Q

0 Internal Clock

1 keyboard

programmable interrupt controller


2
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

numeric data processor (math


13
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.

You might also like