LogoMed.jpg (7683 bytes)
Web CyberCity2000.com

CyberCity 2000 Tech Support Information


(download drivers)


(tips tricks upgrades & repair)


(useful utilities and programs)

IRQs - Set up IRQs for maximum performance

Many of my clients have asked me why I simply do not use plug and play and let the OS  work out the details of IRQ settings? The answer is simple, I want the most compatibility possible and in doing so I create a much more stable machine in the long run. Many tell me this is old school, and I must agree that winXP is much more capable of handling IRQ than older versions of windows. However, old school has its advantages. For instance one of my personal machine is an old 550Mhz P3 with 768Mb RAM. It has served me quite well for more years than I care to remember and without a crash of windows 98 in all that time. Why has it been so stable? Because I took the time to infuse stability and control over the system when I first built it. That control is what we are going to learn about here.

IRQs (Interrupt Request) are the addresses your CPU uses to talk to the various other components in your system. When software wants to talk to hardware, a fax program for instance, it uses IRQ line 3 (usually assigned to COM2) to speak to your modem. Now lets assume the modem is not being addresses by IRQ3 but instead it is really on IRQ4, what happens is the communication either gets muddled or doesn't get tot the modem at all. The result appears as a hardware failure. This scenario can happen when IRQs are wrong, when more than one device is on the same IRQ, etc. WinXP is better than it's predecessors at sharing IRQs with multiple pieces of hardware, but with certain poorly written or DOS programs the problem still occurs. The solution is to simply take control from the beginning.

Another advantage of using static IRQ settings is that it is much easier to add or change hardware in the future. If IRQs are static then we always know what they need to be when we replace a piece of defective hardware, or which IRQs are still available when we need to add additional hardware.

Stability of a system is the name of the game and keeping control of the hardware is one way to maintain it.

Let the almighty windows rob someone else's machine of CPU power, and stability. I for one will remain old school until it becomes 100% unnecessary.

IRQs really aren't such a mystery. There are 15 of them * (some reserved) and there really is a simple formula to setting them up so everything runs smoothly and the chance of conflicting hardware is reduced drastically. First off here is a simple table to memorize or print out and keep handy.

* The newer 64 Bit systems address more than 15

IRQ 1 = Used By system (usually keyboard)
IRQ 2 = Used by System (usually Interrupt controller)
IRQ 3 = COM2
IRQ 4 = COM1
IRQ 5 = Sound Cards
IRQ 6 = floppy diskette
IRQ 7 = LPT1 (printer port)
IRQ 9 = Floater (used by win95-98 plug n play) **
IRQ 10 = Network Cards
IRQ 11 = Video Cards
IRQ 12 = SCSI controllers
IRQ 13 = Numeric Data Processor
IRQ 14 = Primary HD Controller
IRQ 15 = Secondary HD Controller

** (IRQ9 is also heavily used by WinXP)

Along with the IRQs are DMA addresses but the only ones you need remember, and bother with are DMA 1 and DMA 3. We'll use DMA 1 for your sound card and DMA 3 is for your printer.

Of the above IRQs you need only concern yourself with 3,4,5,7,9,10,11,12. In most of today's systems the USB will usually share IRQ 9 or IRQs with other hardware and not cause problems. For instance USB and a network card sharing IRQ 10 would cause no problems. The lower end IRQs 1-7 are a bit more critical than the upper end, especially when it comes to the ability to run older DOS applications. It is very important to do it by the book if you want the most compatible settings, especially with OLD DOS BASED APPLICATIONS that are not totally windows aware.

OK so now the IRQs are under our control not windows, heheh this is how you keep it stable ;)

How to control IRQs: IRQs are set in the system BIOS for the motherboard. The access to the BIOS varies with motherboard manufacturers, so please consult your motherboard manual for details on how to enter the setup program for the BIOS.

Once inside you will change the setting from Auto or PnP to "Manual". After that is done we can tell the motherboard which IRQs are PnP or Legacy or PCI/ISA. By choosing Legacy or PCI/ISA we are preventing the motherboard and OS from making dynamic changes to the IRQ addresses.

For the most part we will set 3,4,5,7,11,12 to legacy. In the case of PS2 mice, you can leave IRQ 12 at PnP since your mouse will want IRQ 12. This leaves us 3,4,5,7,10,11 for our personal use. We will assign these to sound cards, network adapters, video cards, modems, etc. I have quite a bit stuffed into my little P3, in fact there are no more slots available!  

CHOOSE AN ARTICLE (updates added daily)
Else where on many mother boards there is a spot to set with PCI lines receive which IRQ. This is handy but not totally necessary. In the event this feature is not present or does not work properly (as is the case with some boards) then we can control which IRQ gets assigned to which device by carefully choosing which PCI slot the card is placed into.

Ideally, we want to try and get the IRQ setting to match those listed near the top of the next column in this article. The IRQs listed are old school by the book settings and they have served me well over the last 23 years of working with computers.

PS: Yes, there's a "By the Book" standard for IRQ usage.

IRQs are assigned to the PCI bus in order, PCI (white) Slot closest to the CPU, then each consecutive slot moving away from the CPU. Finally the ISA (black)slots. (most new motherboards do not have ISA slots).

For the sake of this example lets say I have a PCI Sound Card, PCI Network card, and I have Installed an AGP Video Card, I want my sound card to grab the first (lowest) open IRQ so I will put it in the first PCI slot, this should have the desired effect of giving it IRQ 5 (the first available IRQ which has been assigned to "PCI/PnP ISA" remember our BIOS settings). Secondly I will add in my PCI network card this should allow it to grab the second available IRQ which is IRQ 10, and so on.

Once you have your hardware installed you will want to check with your computer to see what there REAL MODE IRQ settings are. WE DO NOT DO THIS IN WINDOWS!

In order to check them pause your computer on bootup when the DOS screen appears showing your systems hardware configuration. This screen is immediately before Windows begins booting.

NOTE: On some PCs it is necessary to abort or turn off the manufacturers custom splash screen in order to see the POST screens being displayed.

If the IRQs are all where we want then great, continue booting. If not, then either adjust the BIOS settings again, other try switching the cards around in the PCI slots and check again. Repeat until they are correctly set up.

If you are building a new PC this should be done PREFERABLY before adding the OS and other software.

Remember, by manually setting the IRQs to controlled address we are laying a firm foundation upon which we will build the rest of our PC.

There is no substitute for a stable hardware foundation.


Copyright 1998-2008 Ron Haines, all rights reserved
Terms of Use
About the author and creator of CC2k