Plug-and-play
Encyclopedia
In computing
Computing
Computing is usually defined as the activity of using and improving computer hardware and software. It is the computer-specific part of information technology...

, plug and play is a term used to describe the characteristic of a computer bus
Computer bus
In computer architecture, a bus is a subsystem that transfers data between components inside a computer, or between computers.Early computer buses were literally parallel electrical wires with multiple connections, but the term is now used for any physical arrangement that provides the same...

, or device specification, which facilitates the discovery of a hardware component in a system, without the need for physical device configuration, or user intervention in resolving resource conflicts.

Plug and play refers to both the boot-time assignment of device resources, and to hotplug
Hot swapping
Hot swapping and hot plugging are terms used to describe the functions of replacing computer system components without shutting down the system...

 systems such as USB and IEEE 1394 (FireWire).

History of device configuration

In the beginnings of data processing technology, the hardware was just a collection of modules, and the functions of those modules had to be linked to accommodate different calculating operations. This linking was usually done by connecting some wires between modules and disconnecting others. For many mechanical data processing machines
Unit record equipment
Before the advent of electronic computers, data processing was performed using electromechanical devices called unit record equipment, electric accounting machines or tabulating machines. Unit record machines were as ubiquitous in industry and government in the first half of the twentieth century...

, such as the IBM punched card
Punched card
A punched card, punch card, IBM card, or Hollerith card is a piece of stiff paper that contains digital information represented by the presence or absence of holes in predefined positions...

 accounting machines
Tabulating machine
The tabulating machine was an electrical device designed to assist in summarizing information and, later, accounting. Invented by Herman Hollerith, the machine was developed to help process data for the 1890 U.S. Census...

, their calculating operations were directed by the use of a quick-swap control panel
Plugboard
A plugboard, or control panel , is an array of jacks, or hubs, into which patch cords can be inserted to complete an electrical circuit. Control panels were used to direct the operation of some unit record equipment...

 wired to route signals between module sockets.

As general purpose computing devices developed, these connections and disconnections were instead used to specify locations in the system address space
Address space
In computing, an address space defines a range of discrete addresses, each of which may correspond to a network host, peripheral device, disk sector, a memory cell or other logical or physical entity.- Overview :...

 where an expansion device should appear, in order for the device to be accessible by the central processing unit
Central processing unit
The central processing unit is the portion of a computer system that carries out the instructions of a computer program, to perform the basic arithmetical, logical, and input/output operations of the system. The CPU plays a role somewhat analogous to the brain in the computer. The term has been in...

. If two or more of the same type of device were installed in one computer, it would be necessary to assign the second device to a separate, non-overlapping region of the system address space so that both could be accessible at the same time.
Some early microcomputing devices such as the Apple II
Apple II
The Apple II is an 8-bit home computer, one of the first highly successful mass-produced microcomputer products, designed primarily by Steve Wozniak, manufactured by Apple Computer and introduced in 1977...

 sometimes required the end-user to physically cut some wires and solder others together to make configuration changes. The changes were intended to be largely permanent for the life of the hardware.

As computers became more accessible to the general public, the need developed for more frequent changes to be made by computer users unskilled with using soldering irons. Rather than cutting and soldering connections, configuration was accomplished by jumpers
Jumper (computing)
In electronics and particularly computing, a jumper is a short length of conductor used to close a break in or bypass part of an electrical circuit...

 or DIP switch
DIP switch
DIP switches are manual electric switches that are packaged in a group in a standard dual in-line package...

es.
Left: Jumper blocks of various sizes, Right: a slide-style DIP switch with 8 switches

However, the process of configuring devices manually using jumpers or DIP switches could be quite difficult, and there was usually no forgiveness for technical inexperience. Incorrect settings could render either the whole system or just the expansion device completely or partially inoperable. Some settings such as for interrupts (IRQ) or direct memory access
Direct memory access
Direct memory access is a feature of modern computers that allows certain hardware subsystems within the computer to access system memory independently of the central processing unit ....

 (DMA) required knowledge of what configuration had been previously manually assigned to other devices, as well as what settings the main system itself may be using. The system might still seem to work properly with an incorrect setting, until the IRQ or DMA is actually needed and the entire system suddenly freezes and must be reset.

First attempts at self-configuration

As computing devices spread further out into the general population, there was ever greater pressure developing to automate this configuration process, and relieve the end-user from the hassle and complexity of having to manually assign these many complex settings.

NuBus

In 1984, the NuBus
NuBus
NuBus is a 32-bit parallel computer bus, originally developed at MIT as a part of the NuMachine workstation project. The first complete implementation of the NuBus and the NuMachine was done by Western Digital for their NuMachine, and for the Lisp Machines Inc. LMI-Lambda. The NuBus was later...

 architecture was developed by the Massachusetts Institute of Technology (MIT) as a platform agnostic peripheral interface that fully automated device configuration. The specification was sufficiently intelligent that it could work with both big endian and little endian computer platforms that had previously been mutually incompatible. However, this agnostic approach increased interfacing complexity and required support chips on every device which in the 1980's was expensive to do, so the technology did not gain widespread support.

Zorro bus

In 1984 Commodore developed the AutoConfig protocol and the Zorro expansion bus for its Amiga
Amiga
The Amiga is a family of personal computers that was sold by Commodore in the 1980s and 1990s. The first model was launched in 1985 as a high-end home computer and became popular for its graphical, audio and multi-tasking abilities...

 line of expandable computers. The first public appearance was in the CES computer show at Las Vegas in 1985, with the so called "Lorraine" prototype. Like NuBus, Zorro devices had absolutely no jumpers or DIP switches. The Zorro architecture did not spread to general computing use outside of the Amiga product line, but was eventually upgraded for the later iteration of Amiga computers.

Micro-Channel Architecture

In 1987, IBM released an update to the IBM PC
IBM PC
The IBM Personal Computer, commonly known as the IBM PC, is the original version and progenitor of the IBM PC compatible hardware platform. It is IBM model number 5150, and was introduced on August 12, 1981...

 known as the Personal System/2 line of computers using the Micro Channel Architecture
Micro Channel architecture
Micro Channel Architecture was a proprietary 16- or 32-bit parallel computer bus introduced by IBM in 1987 which was used on PS/2 and other computers through the mid 1990s.- Background :...

. The PS/2 was capable of totally automatic self-configuration. Every piece of expansion hardware was issued with a floppy disk containing a special file used to auto-configure the hardware to work with the computer. The user would install the device, turn on the computer, load the configuration information from the disk, and the hardware automatically assigned interrupts, DMA, and so forth.

However, the disks posed a problem if they were damaged or lost, as the only options at the time to obtain replacements was via postal mail or IBM's dialup BBS
BBS
-Technologies:* Bulletin Board System, a computer that allows users to dial into the system over a phone line or telnet connection* BIOS Boot Specification, a system firmware specification related initial program load...

 service. Without the disks any new hardware would be completely useless and the computer would not boot at all until the unconfigured device was removed.

Microchannel did not gain widespread support because IBM wanted to exclude clone manufacturers from this next generation computing platform. Anyone developing for MCA had to sign non-disclosure agreements and pay royalties to IBM for each device sold, putting a price premium on MCA devices. End-users and the clone manufacturers revolted against IBM and developed their own open standards bus, known as EISA, and MCA receded in use except in IBM's mainframes.

ISA and PCI self-configuration

In time, many Industry Standard Architecture
Industry Standard Architecture
Industry Standard Architecture is a computer bus standard for IBM PC compatible computers introduced with the IBM Personal Computer to support its Intel 8088 microprocessor's 8-bit external data bus and extended to 16 bits for the IBM Personal Computer/AT's Intel 80286 processor...

 (ISA) cards incorporated, through proprietary and varied techniques, hardware to self-configure or to provide for software configuration; often the card came with a configuration program on disk that could automatically set the software-configurable (but not itself self-configuring) hardware. Some cards had both jumpers and software-configuration, with some settings controlled by each; this compromise reduced the number of jumpers that had to be set, while avoiding great expense for certain settings, e.g. nonvolatile registers for a base address setting. The problems of required jumpers continued on but slowly diminished as more and more devices, both ISA and other types, included extra self-configuration hardware. However, these efforts still did not solve the problem of making sure the end-user has the appropriate software driver for the hardware.

ISA PnP or (legacy) Plug & Play ISA was a plug-n-play system that used a combination of modifications to hardware, the system BIOS, and operating system software to automatically manage resource allocations. It was superseded by the PCI bus during the mid-1990s.

Plug and Play

In 1995 Microsoft released Windows 95, which tried to fully automate device detection and configuration as much as possible, but could still fall back to manual settings if necessary. During the initial install process of Windows 95 it would attempt to automatically detect all devices installed in the system. Since full auto-detection of everything was a new process without full industry support, the detection process constantly wrote to a progress tracking log file during the detection process. In the event that device probing would fail and the system would freeze, the end-user could reboot the computer, restart the detection process, and the installer would use the tracking log to skip past the point that caused the previous freeze.

At the time, there could be a mix of devices in a system, some capable of automatic configuration, and some still using fully manual settings using jumpers and DIPswitches. The old world of DOS still lurked underneath Windows 95, and systems could be configured to load devices three different ways:
  • through Windows 95 device manager drivers only
  • using DOS drivers loaded in the CONFIG.SYS and AUTOEXEC.BAT configuration files
  • using both DOS drivers and Windows 95 device manager drivers together


Microsoft could not assert full control over all device settings, so configuration files could include a mix of driver entries inserted by the Windows 95 automatic configuration process, and could also include driver entries inserted or modified manually by the computer users themselves. The Windows 95 device manager also could offer users a choice of several semi-automatic configurations to try to free up resources for devices that still needed manual configuration.
Also, although some later ISA devices were capable of automatic configuration, it was common for PC ISA expansion cards to limit themselves to a very small number of choices for interrupt request lines. For example, a network interface might limit itself to only interrupts 3, 7, and 10, while a sound card might limit itself to interrupts 5, 7, and 12. This results in few configuration choices if some of those interrupts are already used by some other device.

The hardware of PC computers additionally limited device expansion options because interrupts could not be shared, and some multifunction expansion cards would use multiple interrupts for different card functions, such as a dual serial port card requiring a separate interrupt for each serial port.

Because of this complex operating environment, the autodetection process was sometimes incorrect, especially in systems with a large number of expansion devices, leading to device conflicts within Windows 95 and devices failing to work which were supposed to be fully self configuring. The overall device installation process could be so complex and frustrating for end-users that Plug and Play was sometimes referred to as Plug and Pray.

Up until about 2000, PC computers could still be purchased with a mix of ISA and PCI slots, so it was still possible that manual ISA device configuration might be necessary. But with successive releases of new operating systems like Windows 2000 and Windows XP, Microsoft had sufficient clout to say that drivers would not be provided for older devices that did not support auto-detection. In some cases the user was forced to purchase new expansion devices or a whole new system to support the next operating system release.

Current plug and play interfaces

Several completely automated computer interfaces are currently used, each of which requires no device configuration by the computer user, and the only task of the user is to install software for the self-configuring devices.
  • Firewire (IEEE-1394)
  • PCI
    Peripheral Component Interconnect
    Conventional PCI is a computer bus for attaching hardware devices in a computer...

    , Mini PCI
  • PCI Express
    PCI Express
    PCI Express , officially abbreviated as PCIe, is a computer expansion card standard designed to replace the older PCI, PCI-X, and AGP bus standards...

    , Mini PCI Express
  • PCMCIA, PC Card
    PC Card
    In computing, PC Card is the form factor of a peripheral interface designed for laptop computers. The PC Card standard was defined and developed by the Personal Computer Memory Card International Association which itself was created by a number of computer industry companies in the United States...

    , ExpressCard
    ExpressCard
    ExpressCard is an interface to allow peripheral devices to be connected to a computer, usually a laptop computer. Formerly called NEWCARD, the ExpressCard standard specifies the design of slots built into the computer and of cards which can be inserted into ExpressCard slots. The cards contain...

  • Universal Serial Bus
    Universal Serial Bus
    USB is an industry standard developed in the mid-1990s that defines the cables, connectors and protocols used in a bus for connection, communication and power supply between computers and electronic devices....

     (USB)


For most of these interfaces, very little technical information is available to the end-user about the performance of the interface. Although both Firewire and USB have bandwidth that must be shared by all devices, most modern operating systems are unable to monitor and report the amount of bandwidth being used or available, or report activity on what devices are currently using the interface.

See also

  • Autodetection
    Autodetection
    Autodetection is an automatic detection of a thing or situation.For example, an operating system system probes the computer hardware, automatically determines what is installed in the computer and configures the kernel to support the discovered hardware....

  • Auto-configuration
    Auto-configuration
    Auto-configuration is the automatic configuration of devices without manual intervention, without any need for software configuration programs or jumpers. Ideally, auto-configuring devices should just "plug and play"...

  • Autoconfig
    Autoconfig
    Autoconfig is an auto-configuration protocol of Amiga computers which is intended to automatically assign resources to expansion devices without the need for jumper settings...

     (Amiga)
  • Hot plugging
  • Display Data Channel
    Display Data Channel
    The Display Data Channel or DDC is a collection of digital communication protocols between a computer display and a graphics adapter that enables the display to communicate its supported display modes to the adapter and to enable the computer host to adjust monitor parameters, such as brightness...

  • PCI configuration space
    PCI Configuration Space
    PCI configuration space is the underlying way that the Conventional PCI, PCI-X and PCI Express perform auto configuration of the cards inserted into their bus.- Technical information :...

  • Universal Plug and Play
    Universal Plug and Play
    Universal Plug and Play is a set of networking protocols for primarily residential networks without enterprise class devices that permits networked devices, such as personal computers, printers, Internet gateways, Wi-Fi access points and mobile devices to seamlessly discover each other's presence...

     (UPnP)
  • USB flash drive
    USB flash drive
    A flash drive is a data storage device that consists of flash memory with an integrated Universal Serial Bus interface. flash drives are typically removable and rewritable, and physically much smaller than a floppy disk. Most weigh less than 30 g...


External links

  • http://techupdate.zdnet.com/techupdate/stories/main/0,14179,2807178,00.html
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK