IRQ, DMA and Addresses

(Interrupt Requests, Direct Memory Address)

These are some of those items which may cause problems when installing new hardware. Quite often if the computer locks up; new hardware installed does not work or maybe something which used to work stopped working after adding some new hardware then there may be a conflict here.

Of course, there are other potential causes but this is the first one which should be checked. This information is all available if you open control panel ----->system icon and click device manager. Check all devices specially the new ones a red ! real problems and a yellow ! is normally just caution but may be caused by drivers not installed.

The IRQ - Interrupt requests

There are two basic types of interrupts used by devices and programming to get the attention of the processor. Those are software interrupts mostly used by programs including operating systems and hardware interrupts mostly used by devices. All 286 and later computers have 16 hardware interrupts. These interrupts provide the associated device the capability of interrupting whatever the processor maybe doing and asking for immediate attention. Typically, think about a modem receiving 3 Kbs which even with a 16 bit buffer would fill it 187.5 times per second. That means the computer (processor ) needs to get the data and empty it to prevent an overflow. This must occur at least 187.5 times per second (actually a little more than that) and you can't wait for some other process to finish, hence the interrupt.

Here is a list of the 16 interrupts and their normal assignments:

0     System Timer  - Cannot be used for anything else

01    Keyboard - Cannot be used for anything else

02   Programmable Interrupt Controller - cannot be used for anything else - this one redirects to     09 and is a hangover from the old 8088 processors which only had 8 IRQ. Thus, in order to make 8088 and 80286 interchangeable they used 02 as a redirector when getting 16 interrupts

03    Normally Com 2. This one can be used and depends on installed devices and type of system

04    Normally Com1 and is almost always assigned for the mouse unless a PS2 mouse is used. Again this one is a function of system and installed devices.

05  Normally Parallel Port 2. Most do not have parallel 2 thus it is common to find Audio cards   here and sometimes other devices.

06  Floppy Controller - This one may be shared with Floppy Accelerator cards which is used for backup tapes.

07  Printer Port 1. People have had success sharing this one with parallel port 2. Most printers does not use IRQs

08  System CMOS real time clock - No sharing of this one.

09   This is the redirector for IRQ2 and should be the last IRQ to use. However it may be used .

10   This is a spare interrupt for additional devices

11   This is a spare interrupt for additional devices

12   This is normally a spare device for additional devices. A PS 2 mouse will normally use this interrupt if installed.

13   Numeric data processor - leave this one alone -no sharing

14  This is the interrupt for the IDE hard drive controller - Cannot be shared.

15  This is the interrupt for the second IDE controller. It maybe used if the second IDE controller is not used and is disabled. Many setups will not allow use of this even without the second IDE

From above it looks like your in good shape with lots of spare IRQ and that you never should have problems !!!! Wrong !!!!

Let's take a look at some devices which have not been addresses.

Audio cards - most require at least 1 interrupt and some 2. Some cards use only one some use a separate interrupt for MPU. If the audio card is used as an interface for CD-ROM then another interrupts is normally required too. In addition this one normally requires several DMA channels too.

Modem - Requires an IRQ. Most commonly COM2 which is IRQ3

SCSI interface:      Requires and IRQ

Network Card         Requires an IRQ

Video Card              some use an IRQ

Scanner                    Needs an IRQ but often same as a scsi port or maybe used on the printer                                    port.

I started with 3,5,9,10,11,12   unused IRQs. Now lets add the modem on 3, the audio card requiring two (this one uses one for my CD-ROM) 5,11 then a network card on 10 and a scsi card for my scanner on 12 and a video card that needed one on 9.

Well, that was a lot of stuff and there is no problems. Hey, there should never be an interrupt problem. Guess again !!!!

How about the parallel Zip drive I wanted. My printer is one of those that doesn't coexist with a zip. There are several that don't.

How about that new IRA port I wanted - hmmm no interrupt available???

How about the new serial bus interface - no interrupt ??

How about my two network cards maybe one for a local and one for a cable modem or satellite receiver. Hmmm , no interrupts.

Furthermore, you often face the problem of having legacy devices (not PNP). Those devices might have fixed IRQs which has to be set by jumpers on the board with little flexibility. The ones you have may not be the ones it can use.

Then of course we have the problems of PNP and non PNP motherboards and what the motherboard may do when motherboard assigns interrupts. How about win95 <PNP> and then using dos.

Here are some general ideas - I can't solve the problems since each might be different:

1. First take an inventory of what you have and what your problems are.

2. Find IRQs for legacy devices first since they have jumpers that may need to be set and it takes opening the case. Furthermore, you can not adjust those in WIN95.

3. If you are using a PNP motherboard, it might be worthwhile to go into BIOS and set the IRQ which is used by the legacy devices to ISA.

4. For none PNP devices preferences would be to use IRQ 3 for modem and IRQ 5 for audio. If using a CD-ROM connected to the Audio card  (non ATAPI type) try using the default for the audio card. Will be 10,11, or 12. If it is an ATAPI type CD-ROM use the IDE connector and disable the one on the audio card.  

5. Do all the non pnp devices and then boot up and see what problems you may have by opening control panel - system icon device manager.

6. Remember you can also reserve IRQ for non PNP devices in WIN95 under Control Panel ---> System Icon ---> Device Manager then hi light Computer and select properties. Then click the Reserve Resource Tab.

7. There Is no one solution that will always work for anyone because each situation tends to be different and because of the proliferation of different hardware with different requirements. PNP in itself coupled with PCI busses and PCI steering will address and solve most of these problems if not all. However, that does not help when we have ISA busses, legacy cards and older configurations.

Note: Next page will say a few words about DMA and addresses and provide some specific examples.

 

Com Ports        A link for some additional reading on com ports.

 

Copyrighted All rights reserved
Last revised: May 29, 2005