IRQ+io resources

advertisement
IRQ, DMA, and I/O Memory
Addresses
For an extremely detailed explanation of Interrupts, DMA Channels, and I/O Memory Addresses, let
the PC Guide be your teacher.
There are FOUR things that cause SYSTEM CONFIGURATION CONFLICTS:
1.
2.
3.
4.
IRQ signal lines being shared by devices
DMA signal lines being shared
I/O addresses being shared
Memory addresses (ROM and/or RAM) being shared
If you have Windows95 an easy way of finding what devices are using what IRQ's ior any of the
above is to



right click on the My Computer icon
click on the Device Manager tab
double click on the computer
This will pull up all the device's and what IRQ's they are using or what IRQ's are free, I/O addresses,
etc. Print out a brief or detailed summary record by clicking on the print button in the bottom right
corner of the dialogue box.
What is an IRQ (Interrupt Request Line)?
An IRQ or Interrupt Request Line allows a hardware device inside of the computer a direct line to the
microprocessor and tells the microprocessor to stop what it is doing when the device needs
atttention. The interrupt request signals run along the IRQ lines to an INTERRUPT CONTROLLER
that assigns priorities to incoming IRQs and delivers them to the CPU. The interrupt controller is
hardware found on the motherboard in a larger chip as part of a chipset.
A computer is limited to 15 IRQ's. IRQ's are prioritized in the computer according to the importance
of the device (0, 1, 2, 8, 9, 10, 11, 12, 13, 14, 15, 3, 4, 5, 6, and 7). When the ISA expansion slot
was created IRQ 9 - 15 was added to the original 8 IRQ's. If devices with the IRQ 10 - 15 require
notice from the CPU, IRQ 9 sends a signal to IRQ2. IRQ2 then acts as a bridge and signals the CPU
that a device with IRQ10 - 15 address needs attention. PCI slots differ in that they have their own
interrupt controllers.
ONE DEVICE PER IRQ: Since the interrupt controller expects signals from only one device per IRQ
line, if you have more than one device sending IRQ signals along the same line, you may get an IRQ
conflict that can freeze your machine. This is why assigning IRQs to new hardware as you install it is
so important--and why it can be such a pain when it goes wrong. Luckily today's Plug'n Play (PnP)
computers are supposed to assign IRQ's as a device is added, but this does not always occur as
smoothly as it should, especially when replacing cards and conflicts sometimes arise.
The CPU works at a much higher speed than the devices and therefore seems as through its is
multitasking with more than one device, although the CPU is carrying out instructions one at a time.
IRQ SHARING: If you have used all your IRQ's sometimes depending upon the device you can have
the two device's sharing an IRQ, usually this will work if both devices do not request access at the
same time.
IRQ HANDLING: Usually when installing a new device you may come to an IRQ conflict which is
when two devices in a computer are trying to use the same IRQ number and cause the devices not
to work. To resolve an IRQ conflict one must take either the device that is causing the conflict and
reassign it to another IRQ or take the new device and assign it to another IRQ.
For example, it may be necessary to change the IRQ setting on an expansion card to free an IRQ for
the modem. If your sound card is using IRQ5, you can reinstall it using IRQ11, and thus free IRQ5
for use by your modem. Most serial devices, including your modem, are incapable of operating at
IRQs above 7.
The IRQs with no assignment are often the target of SCSI, network, and sound cards. These are
often the safest place to use for a new IRQ, but be sure it is not in use already.
There are many charts online that give a summary of standard IRQ's for PC compatible computers.
Below are a few. If you own a proprietary computer, such as, a Compaq or a Packard Bell, it is best
to call technical support and ask which IRQ's are free, and any other information you should know
regarding memory addresses.
Compare the below charts and see those IRQ's that remain constant. Then print out a record of your
home computer and/or a school computer and make further comparisons. Make note of which IRQ's
are free for future use.
STANDARD IRQs:
IRQ
ASSIGNMENT
#
NMI Reports memory parity errors
0
System timer
1
Keyboard
2
Cascade to (from?) IRQ 9 (Used by some VGA and network cards
{NE2000})
3
COM2 and COM4
4
COM1 and COM3
5
LPT2
6
Floppy disk controller
7
LPT1
8
Realtime clock
9
Software redirected to interrupt 0AH
10
11
Adaptec 154x SCSI controllers
12
13
Coprocessor
14
Primary IDE interface
15
Secondary IDE interface
IRQ's and who gets them.
Interrupt
Who gets it, usually.
IRQ0
System Timer
This is a list of all the standard IRQs:
0
Reserved, Interval Timer
IRQ1
Keyboard
1
Reserved, keyboard buffer full
IRQ2
Some video cards
IRQ3
COM2, COM4
2
Reserved, Cascade interrupt from slave PIC
IRQ4
COM1, COM3
3
Serial Port 2
4
Serial Port 1
5
Parallel Port 2
IRQ5
Sound Card
IRQ6
Floppy drive
controller
IRQ7
LPT1 (printer port)
IRQ8
CMOS Clock
6
Floppy
7
Parallel Port 1
8
Real Time Clock
9
User available
10
User available
11
user available
12
Mouse port if enabled(PS/2), else user
available
13
Reserved, Math coprocessor
14
IDE if enabled, else available to user
15
Secondary IDE if enabled, else user available
IRQ9
Redirected to IRQ2
IRQ10
Free
IRQ11
Free
IRQ12
Free
IRQ13
Math Coprocessor
IRQ14
Hard Drive Controller
IRQ15
Free
DMA I/O ADDRESSES or CHANNELS
Direct Memory Access (DMA) is another I/O interfacing technique. DMA controller transfers data
from a drive or other peripheral device directly to the computer's memory without CPU intervention.
A DMA controller is designed to service one or more Input/Output devices. Each service interface is
called a channel. 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 it is
used by the Direct Memory Access controller. The low channels 0-3 is so designated because they
move one byte (8 bits) per transfer while the high channels moves 2 bytes per transfer. Refer to the
PC Guide for a detailed recording of DMA channels and their assignments.
I/O Addresses
Each device needs a port address. It is a memory locations used by the device for interfacing with
the computer. One number represents where the CPU goes to goes to get device information for
processing and the second number tells the CPU where to send the informaton. Some devices are
more intricate and need more memory addresses than others. 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. Again the below chart gives a sample of I/O addresses
assigned to particular devices. Refer to the PC Guide for a detailed account of addresses and their
assignments.
I/O ADDRESSES
I/O Base
Address
DEVICE
Common Device Usage
With Typical I/O Address Range
000 - 01F
1st DMA Controller 8237 A-5 (000 - 01F)
020 - 03F
1st Interupt Controller 8259A, Master (020 - 03F)
040 - 05F
8254-2 (040 - 05F)
060 - 07F
8042, Keyboard (060 - 06F)
Real Time Clock, NMI mask (070 - 07F)
080 - 09F
DMA Page Register, 74LS612 (080 - 09F)
DMA Ch 0 (087)
DMA Ch 1 (083)
DMA Ch 2 (081)
DMA Ch 3 (082)
DMA Ch 5 (08B)
DMA Ch 6 (089)
DMA Ch 7 (08A)
Refresh (08F)
0A0 - 0BF
2nd Interupt Controller 8259A, Slave (0A0 - 0BF)
0C0 - 0DF
2nd DMA Controller 8237 A-5 (0C0 - 0DF)
0E0 - 0FF
Clear 80287 Busy (0F0)
Reset 80287 (0F1)
80287 Math Coprocessor (0F8 - 0FF)
100 - 11F
120 - 13F
140 - 15F
160 - 17F
180 - 19F
1A0 - 1BF
1C0 - 1DF
1E0 - 1FF
Hard Disk (1F0 - 1F8)
200 - 21F
Game Controller/Joystick (200 - 20F)
Expansion Unit (210 - 217)
220 - 23F
240 - 25F
260 - 27F
LPT 2 Parallel Port: (278 - 27F)
280 - 29F
LCD display on Wyse 2108 PC
SMC Elite default factory setting (280 - 29F)
2A0 - 2BF
2C0 - 2DF
2E0 - 2FF
COM 4: (2E8 - 2EF)
GPIB Adapter 0 (2E1)
COM 2: (2F8 - 2FF)
Data aquisition (2E2 - 2E3)
300 - 31F
Prototype Card (300 - 31F)
3Com EtherLink default factory setting (300 - 31F)
320 - 33F
XT Hard Disk Interface (320 - 32F)
340 - 35F
360 - 37F
LPT 1 Parallel Port: (378 - 37F)
380 - 39F
SLDC/Secondary Bi-Sync Interface (380 - 38C)
3A0 - 3BF
Primary Bi-sync Interface (3A0 - 3A9)
Monochrome Display (3B0 - 3BB)
3C0 - 3DF
EGA Display Control (3C0 - 3CF)
Colour/Graphics Display - CGA (3D0 - 3DF)
3E0 - 3FF
COM 3: (3E8 - 3EF)
Floppy disk controller (3F0 - 3F7)
COM 1: (3F8 - 3FF)
MAINTENANCE

The first step to take is to inventory all of the IRQ's, DMA's, and I/O
Addresses used by the system and by any additional user installed devices.
You should also save the above information in a printed summary or as a file
on your disk so that you can update and refer to it when needed. You can
print a system summary from the device manager tab in from the Properties
of My Computer.

As a standard practice it is also a good idea to write a label with the IRQ for
every device in your machine. Paste this either on the back or inside the case.
Back to Hardware Components and their Function
Download