Plug and Play (PnP) means that you can connect a device or insert a card into your computer and it is automatically recognized and configured to work in your system. PnP is a simple concept, but it took a concerted effort on the part of the computer industry to make it happen. Intel created the PnP standard and incorporated it into the design for PCI. But it wasn't until several years later that a mainstream operating system, Windows 95, provided system-level support for PnP. The introduction of PnP accelerated the demand for computers with PCI, very quickly supplanting ISA as the bus of choice.
To be fully implemented, PnP requires three things:
PnP BIOS - The core utility that enables PnP and detects PnP devices. The BIOS also reads the ESCD for configuration information on existing PnP devices.
Extended System Configuration Data (ESCD) - A file that contains information about installed PnP devices.
PnP operating system - Any operating system, such as Windows XP, that supports PnP. PnP handlers in the operating system complete the configuration process started by the BIOS for each PnP device. PnP automates several key tasks that were typically done either manually or with an installation utility provided by the hardware manufacturer. These tasks include the setting of:
- Interrupt requests (IRQ) - An IRQ, also known as a hardware interrupt, is used by the various parts of a computer to get the attention of the CPU. For example, the mouse sends an IRQ every time it is moved to let the CPU know that it's doing something. Before PCI, every hardware component needed a separate IRQ setting. But PCI manages hardware interrupts at the bus bridge, allowing it to use a single system IRQ for multiple PCI devices.
- Direct memory access (DMA) - This simply means that the device is configured to access system memory without consulting the CPU first.
- Memory addresses - Many devices are assigned a section of system memory for exclusive use by that device. This ensures that the hardware will have the needed resources to operate properly.
- Input/Output (I/O) configuration - This setting defines the ports used by the device for receiving and sending information.
While PnP makes it much easier to add devices to your computer, it is not infallible.
Variations in the software routines used by PnP BIOS developers, PCI device manufacturers and Microsoft have led many to refer to PnP as "Plug and Pray." But the overall effect of PnP has been to greatly simplify the process of upgrading your computer to add new devices or replace existing ones.