|
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 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!!!!
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.
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
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 |
|
Created by Dieter M. Durant > |