Photo:1 Photo:2 Photo:3 Photo:4 |
| History of device configuration | |
| 2>
IBM 402 Accounting Machine control panel wiring. This control panel was labeled "profit & loss summary."
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, such as the IBM punched card accounting machines, their calculating operations were directed by the use of a quick-swap control panel 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 where an expansion device should appear, in order for the device to be accessible by the central processing unit. 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.
Apple II serial interface card that required cutting and soldering to reconfigure. The user would cut the wire trace between the >< cones at X1 and X3 and solder the <> cones together at X2 and X4.
Some early microcomputing devices such as the Apple II 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 or DIP switches.
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 (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.
[edit] Tags:Computing,Edit,Ibm 402,Mechanical Data Processing Machines,Punched Card,Accounting Machines,Control Panel,Address Space,Central Processing Unit,Apple Ii,Jumpers,Interrupts,Direct Memory Access,Wired,Dma,Ssa, | |
| First attempts at self-configuration | |
| 2>
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.
[edit] Tags:Read, | |
| NuBus | |
| 3>
A NuBus expansion card without jumpers or DIP switches.
In 1984, the NuBus 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.
[edit] Tags:Nubus,Big Endian,Little Endian, | |
| Zorro bus | |
| 3>
In 1984 Commodore developed the AutoConfig protocol and the Zorro expansion bus for its Amiga 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.
[edit] Tags:Amiga,Autoconfig, | |
| Micro-Channel Architecture | |
| 3>
An MCA expansion card without jumpers or DIP switches.
In 1987, IBM released an update to the IBM PC known as the Personal System/2 line of computers using the Micro Channel Architecture. 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 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.
[edit] Tags:Ibm Pc,Personal System/2,Micro Channel Architecture,Bbs,Isa,Eisa,Mca, | |
| ISA and PCI self-configuration | |
| 2>
In time, many Industry Standard Architecture (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.
[edit] Tags:Industry Standard Architecture,Pci,Hil, | |
| Plug and Play | |
| 2>
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.
An example of an ISA interface card with extremely limited interrupt selection options, a common problem on PC ISA interfaces.
Kouwell KW-524J dual serial, dual parallel port, 8-bit ISA, manufactured in 1992:
* Serial 1: IRQ 3/4/9
* Serial 2: IRQ 3/4/9
* Parallel 1: IRQ 5/7
* Parallel 2: IRQ 5/7
(There is no technical limitation that 3,4,5,7,9 could not all be selectable choices for each port.)
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.
[edit] Tags:Autodetection, | |
| Current plug and play interfaces | |
| 2>
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.
IEEE 1394 (FireWire)
PCI, Mini PCI
PCI Express, Mini PCI Express
PCMCIA, PC Card, ExpressCard
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.
[edit] Tags:Usb,Ieee 1394,Mini Pci,Pci Express,Mini Pci Express,Pcmcia,Pc Card,Expresscard, | |
| See also | |
| 2>
Autodetection
Auto-configuration
Autoconfig (Amiga)
Hot plugging
Display Data Channel
PCI configuration space
Universal Plug and Play (UPnP)
USB flash drive
[edit] Tags:Auto-configuration,Hot Plugging,Display Data Channel,Pci Configuration Space,Universal Plug And Play,Usb Flash Drive, | |
| External links | |
| 2>
http://techupdate.zdnet.com/techupdate/stories/main/0,14179,2807178,00.html
v
d
e
Computer bus official and de facto standards (wired)
General
System bus
Front-side bus
Back-side bus
Daisy chain
Control bus
Address bus
Bus contention
Plug and play
List of bus bandwidths
Standards
S-100 bus
Unibus
VAXBI
MBus
STD Bus
SMBus
Q-Bus
ISA
Zorro II
Zorro III
CAMAC
FASTBUS
LPC
HP Precision Bus
EISA
VME
VXI
VXS
NuBus
TURBOchannel
MCA
SBus
VLB
PCI
PXI
HP GSC bus
CoreConnect
InfiniBand
UPA
PCI-X
AGP
PCI Express
Intel QuickPath Interconnect
HyperTransport
Portable
PC Card
ExpressCard
Embedded
Multidrop bus
AMBA
Wishbone
Storage
ST-506
ESDI
SMD
Parallel ATA (PATA)
DMA
SSA
HIPPI
USB MSC
FireWire (1394)
Serial ATA (SATA)
eSATA
eSATAp
SCSI
Parallel SCSI
Serial Attached SCSI (SAS)
Fibre Channel (FC)
iSCSI
ATAoE
Peripheral
Apple Desktop Bus
HIL
MIDI
Multibus
RS-232 (serial port)
DMX512-A
IEEE-488 (GPIB)
EIA/RS-422
IEEE-1284 (parallel port)
UNI/O
ACCESS.bus
1-Wire
I²C
SPI
EIA/RS-485
Parallel SCSI
Profibus
USB
FireWire (1394)
Fibre Channel
Camera Link
External PCI Express x16
Thunderbolt
Note: interfaces are listed in speed ascending order (roughly), the interface at the end of each section should be the fastest
Category
Retrieved from "http://en.wikipedia.org/w/index.php?title=Plug_and_play&oldid=463834351"
Categories: Computer peripheralsMotherboardHidden categories: Articles that may contain original research from February 2011All articles that may contain original researchArticles needing additional references from February 2011All articles needing additional references
Personal tools
Log in / create account
Namespaces
Article
Talk
Variants
Views
Read
Edit
View history
Actions
Search
Navigation
Main page
Contents
Featured content
Current events
Random article
Donate to Wikipedia
Interaction
Help
About Wikipedia
Community portal
Recent changes
Contact Wikipedia
Toolbox
What links here
Related changes
Upload file
Special pages
Permanent link
Cite this page
Print/export
Create a bookDownload as PDFPrintable version
Languages
العربية
Català
Česky
Deutsch
Español
Français
한국어
Bahasa Indonesia
Italiano
Nederlands
日本語
Polski
Português
Русский
Simple English
Suomi
Svenska
Türkçe
Українська
中文
This page was last modified on 3 December 2011 at 14:53.
Text is available under the Creative Commons Attribution-ShareAlike License;
additional terms may apply.
See Terms of use for details.
Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.Contact us
Privacy policy
About Wikipedia
Disclaimers
Mobile view
if ( window.isMSIE55 ) fixalpha();
if ( window.mediaWiki ) {
mw.loader.load(["mediawiki.user", "mediawiki.util", "mediawiki.page.ready", "mediawiki.legacy.wikibits", "mediawiki.legacy.ajax", "mediawiki.legacy.mwsuggest", "ext.gadget.wmfFR2011Style", "ext.vector.collapsibleNav", "ext.vector.collapsibleTabs", "ext.vector.editWarning", "ext.vector.simpleSearch", "ext.UserBuckets", "ext.articleFeedback.startup", "ext.articleFeedbackv5.startup", "ext.markAsHelpful"]);
}
if ( window.mediaWiki ) {
mw.user.options.set({"ccmeonemails":0,"cols":80,"date":"default","diffonly":0,"disablemail":0,"disablesuggest":0,"editfont":"default","editondblclick":0,"editsection":1,"editsectiononrightclick":0,"enotifminoredits":0,"enotifrevealaddr":0,"enotifusertalkpages":1,"enotifwatchlistpages":0,"extendwatchlist":0,"externaldiff":0,"externaleditor":0,"fancysig":0,"forceeditsummary":0,"gender":"unknown","hideminor":0,"hidepatrolled":0,"highlightbroken":1,"imagesize":2,"justify":0,"math":1,"minordefault":0,"newpageshidepatrolled":0,"nocache":0,"noconvertlink":0,"norollbackdiff":0,"numberheadings":0,"previewonfirst":0,"previewontop":1,"quickbar":5,"rcdays":7,"rclimit":50,"rememberpassword":0,"rows":25,"searchlimit":20,"showhiddencats":false,"showjumplinks":1,"shownumberswatching":1,"showtoc":1,"showtoolbar":1,"skin":"vector","stubthreshold":0,"thumbsize":4,"underline":2,"uselivepreview":0,"usenewrc":0,"watchcreations":1,"watchdefault":0,"watchdeletion":0,"watchlistdays":3,"watchlisthideanons":0,
"watchlisthidebots":0,"watchlisthideliu":0,"watchlisthideminor":0,"watchlisthideown":0,"watchlisthidepatrolled":0,"watchmoves":0,"wllimit":250,"flaggedrevssimpleui":1,"flaggedrevsstable":0,"flaggedrevseditdiffs":true,"flaggedrevsviewdiffs":false,"vector-simplesearch":1,"useeditwarning":1,"vector-collapsiblenav":1,"usebetatoolbar":1,"usebetatoolbar-cgd":1,"wikilove-enabled":1,"variant":"en","language":"en","searchNs0":true,"searchNs1":false,"searchNs2":false,"searchNs3":false,"searchNs4":false,"searchNs5":false,"searchNs6":false,"searchNs7":false,"searchNs8":false,"searchNs9":false,"searchNs10":false,"searchNs11":false,"searchNs12":false,"searchNs13":false,"searchNs14":false,"searchNs15":false,"searchNs100":false,"searchNs101":false,"searchNs108":false,"searchNs109":false,"gadget-wmfFR2011Style":1});;mw.user.tokens.set({"editToken":"+\\","watchToken":false});;mw.loader.state({"user.options":"ready","user.tokens":"ready"});
/* cache key: enwiki:resourceloader:filter:minify-js:4:b41a86ec4e0fe8329bc3ce917e792339 */
}
Tags:Original Research,References,Computer Bus,Official,De Facto,System Bus,Front-side Bus,Back-side Bus,Daisy Chain,Control Bus,Address Bus,Bus Contention,S-100 Bus,Unibus,Vaxbi,Mbus,Std Bus,Smbus,Q-bus,Zorro Ii,Zorro Iii,Camac,Fastbus,Lpc,Hp Precision Bus,Vme,Vxi,Vxs,Turbochannel,Sbus,Vlb,Pxi,Hp Gsc Bus,Coreconnect,Infiniband,Upa,Pci-x,Agp,Intel Quickpath Interconnect,Hypertransport,Multidrop Bus,Amba,Wishbone, | |
zote monety |