---------------------------------------------------------- Permission is granted for below article to forward, reprint, distribute, use for ezine, newsletter, website, offer as free bonus or part of a product for sale as long as no changes are made and byline, copyright, and resource box below is included. ----------------------------------------------------------Plug and Play Resource Allocation
By Stephen Bucaro
Your computer has many devices connected to it. Your key board is a device. Your mouse is a device. Your modem is a device. Even a port, like a USB port, is a device. You can add a device to your computer by installing it into an expansion connector on the motherboard of computer. In order to operate, resources need to be allocated to device.
One of most important resources a device needs is an Interrupt Request (IRQ) line. An IRQ signals processor that device needs attention. For example, each time you press a key on your keyboard, an IRQ is sent to let processor know that keyboard needs attention. A device also needs to be allocated a set of memory addresses where commands can be sent to it and it can send responses.
Many devices need to be allocated an area of memory to store data and/or a Direct Memory Access (DMA) channel. A DMA channel allows a device to create a data stream directly between it and computers memory without passing through processor.
One of most important structures in a computer is system bus located on motherbord. The processor, chipset, memory, and expansion slot devices communicate over bus. Early PCs used a bus called Industry Standard Architecture (ISA). When you installed an expansion card into ISA bus, you had to set IRQs and other resources with jumpers and/or DIP switches on card. ISA devices cannot share resources, each ISA device must have its own IRQ.
- You can have more than one ISA device configured for same IRQ, as long as only one of device drivers is loaded at any one time; otherwise, you'll get an IRQ conflict.
Since a computer has only a limited amount of resources, number of devices that a computer could support is limited. One of most limited resources is IRQ lines. A PC has only 16 IRQs. Common devices such as keyboard, mouse, floppy drive, and hard drive use a standard set of resources.
Standard IRQ aassignments
IRQDevice 0System Timer 1Keyboard 2IRQ Controller 2 3COM2 4COM1 5LPT2 6Floppy Drive 7LPT1 8Real-Time Clock 9ACPI 10unallocated 11IRQ Holder 12Mouse 13Math Coprocessor 14Primary IDE 15Secondary IDE
In 1993, Microsoft and Intel developed Plug and Play (PnP) to solve this problem. One of main structures supporting PnP is Peripheral Component Interconnect (PCI) bus. Along with a PCI bus, computers BIOS, operating system, and hardware devices must be PnP compliant. One of key features of PnP is that when installing a PCI card, you do not need to use jumpers of DIP switches to set IRQ or I/O address for card, PCI bus controller does this for you.