Academy.gif (18922 bytes)

The Basics    Essential Tools    Windows 95 FAQ      Modems       IRQ's DMA's and I/O Addresses

DOS Memory in Windows 95

blline.gif (13580 bytes)

 

IRQ, DMA and I/O Addresses

(Interrupt Requests, Direct Memory Access)

 

These are some of those items that 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 that 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. Look for a red X (real problems) and a yellow ! (normally just a 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 KBPS, 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
1. Keyboard - Cannot be used for anything else
2. Programmable Interrupt Controller - cannot be used for anything else - this one redirects to 09 and is a hangover from     the old 8088 processors that only had 8 IRQ. Thus, in order to make 8088 and 80286 interchangeable they used 02      as a redirector when getting 16 interrupts.
3. Normally Com 2. This one can be used and depends on installed devices and type of system.
4. 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.
5. Normally Parallel Port 2. Most do not have parallel 2 thus it is common to find Audio cards   here and sometimes              other devices.
6. Floppy Controller - This one may be shared with Floppy Accelerator cards which is used for backup tapes.
7. Printer Port 1. People have had success sharing this one with parallel port 2. Most printers do not use IRQ's.
8. System CMOS real time clock - No sharing of this one.
9. 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 you're in good shape with lots of spare IRQ and that you never should have problems!!!! Wrong!!!!

Let's take a look at some devices that also require IRQ's.

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 an IRQ

Network Card - Requires an IRQ

Video Card - Some use an IRQ

Scanner - Needs an IRQ but often same as a SCSI port or parallel port.

I started with IRQ's 3,5,9,10,11,12 unused. 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 are no problems. Hey, there should never be an interrupt problem. Guess again!!!!

  • How about the parallel Zip drive? Some printers won't coexist with a Zip.
  • How about that new IRDA port - hmmm no interrupt available???
  • How about the new USB interface - no interrupt??
  • How about 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 IRQ's 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.

  1. Here are some general ideas - I can't solve the problems since each might be different:
  2. First take an inventory of what you have and what your problems are.
  3. Type of motherboard - PnP VS Non -PnP

    Legacy devices - Non PnP and what their limitations may be.

    NOTE: PnP motherboard with PCI might allow sharing of PCI device interrupts.

  4. Find IRQ's 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.
  5. If you are using a PnP motherboard, it might be worthwhile to go into BIOS and set the IRQ that is used by the legacy devices to ISA.
  6. 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.  
  7. 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.
  8. 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.
  9. 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.

  

 

DMA Direct Memory access

This is used to allow transfer of  data from one place to another in the computer without having the processor do it. It takes the load of the processor and results in faster overall data transfer. The standard computer (PC) has two DMA controllers. The first controls channels 0,1,2,3 and the second channels 4,5,6,7. Thus we have 8 channels altogether.  However, channel 4 is lost since the DMA controller uses it. The low channels 0-3 are so designated because they move one byte (8 bits) per transfer while the high channel moves 2 bytes per transfer.

Data being moved using DMA is not moved through the DMA controller. This is often referred to as "fly-by" and provides a limitation in the sense that DMA can only move data between devices (I/O ports)  and memory.  It cannot move data between ports or between memory.

DMA Channels                        

  1. Audio Card Low DMA channel
  2.  
  3.  
  4. Direct Memory Access Controller
  5. Audio Cards High channel
  6.  
  7.  
  8.  

 

   What other items commonly use DMA channels???  Parallel ECP ports needs a DMA channel and it has become more common to use buss mastering and DMA for hard drive interfaces.

Again sharing DMA channels is generally a NO NO!!!!!

Port Addresses

Each device needs a port address. It is a memory location used by the device for interfacing with the computer. This location is where data is sent by the device for retrieval by the computer and the location that the computer uses to transmit data to the device. Some devices might have a set of Addresses being used for  different functions while other have only one. The size of the address space may also vary from just one bit and up. Some are very standard and quite a few of the legacy devices had fixed port addresses set by jumpers on the card.

PORT ADDRESSES CANNOT BE SHARED

ALL the information about IRQ, DMA and I/O port addresses is found in Win95 by opening  Control Panel----> System Icon -----> Click Device Manager. Then hi light the applicable device and select properties. Click the resource tab.

A list of everything is found by hi lighting Computer and then select the appropriate item you are interested in.

Installation Examples:

1. Tape controller - Conner

This is a legacy card. Thus the I/O information is set with jumpers on the card. Thus once these are set there is nothing that can be done within WIN95 to change them. If a conflict occurs your choice is to remove the card and reset the jumpers or to remove the conflicting device and reassign it. Thus, installing these devices requires a little planning ahead. It is a very good idea to read the manufacturer's information and check in windows prior to installing.

Here we go!!!

We install the card, which is a floppy accelerator card, and hook up the tape drive with the cables provided. (The tape drive could have used the floppy drive cable instead but then the tape would have suffered severely in speed and I would not have had this example). We had set the jumpers on the card for default settings that are:

IRQ 6,  DMA 2 and I/O port 370-375

We boot Win95 and check. Nothing there? No Tape, no accelerator??   Hmm, maybe we should call the manufacturer or Microsoft and complain?? Oops better read the instructions???

 

Next we open Control Panel ---> Add New hardware. Well, it is no use of having window try to detect it. It didn't so it is up to us. We look through the list and on the very bottom it says Tape Controllers - select it. We get another list of manufacture's and there Conner is listed. (Here you may have to use disk provided by manufacturer). A least Win95 provided drivers for this one. There is only one choice so we use it. We click OK. Hmmm now what happened. Here this window appears  and what does it say:

IRQ 9,  DMA 3 and I/O 365-370.

It will not let me change anything either. Is Windows 95 just stupid?? Or is it trying to outsmart me?? Is it time to get on the phone??? This is not going to work and it is asking me to reboot - what do I do??  My time to outsmart Windows 95!!!! Answer No!! 

Open control panel ---->system icon then click device manager. There it is, the tape drive controller with one of those ! next to it. At least Win95 was smart enough to realize it messed up. We just click the plus in front of Tape drive controllers and there it says Conner Tape drive controller. Hi light it and select properties. Click the resource tab.

First hi light Input/output then select change settings. A window appears in which we can type in the proper address or we can use the little button on the side and the proper one is one of the choices. We repeat this for the IRQ and DMA. Then we select OK and we will be asked to reboot. Now it is time to say yes. In spite of Win95 feeble attempts to confuse us we have prevailed.

In boot up Win95 will now automatically detect the tape drive and install the appropriate drivers.

This page hosted by Get your own Free Home Page


Created by Dieter M. Durant

Welcome     The Academy     Vendor List     Distractions      Links     Feedback     Search the Web

>

Hosted by www.Geocities.ws

1