Mitsubishi Electric - Computing for a Connected World Insight CD Home Page

Products
Services
Knowledgebase
Bulletins (IPBs)
Guides
FAQs
Owner's Handbooks
Product Datasheets
Miscellaneous Items
Upgrades
Downloads
Search Insight
E-Mail us
Insight Service
Year 2000
Other Mitsubishi Sites
Site Disclaimer


Plug and Play

Or rather, plug and go mad with frustration. Don't blame yourself, says Nick Edmunds. The inadequacy of the PC is at fault, overwhelmed on all sides by technical advice.

Did you consider taking an axe to your PC when you last installed a sound card? Did you wonder, despite following the manufacturer's instructions to the letter, if that expensive CD-ROM drive upgrade would ever work? Did the experience make you feel inadequate and technically challenged? Worry not; it's not you, it's the system.

Fig 1: System bus and node layout

Blame IBM, blame Microsoft, blame history, but don't blame yourself. According to Intel, up to 50 percent of support calls to computer vendors relate to configuration issues. Forty five percent of Microsoft's Windows support calls are due to, not software, but hardware compatibility problems. And in the US, of all multimedia kits sold by the CompUSA superstore chain, no less than 25 percent are returned by crazed users who have quite simply had enough and thrown in the towel.

When it comes to upgrades, the now completely inadequate architecture of the PC, overwhelmed by technical advice on all sides, is beginning to hold back not just performance, but worse: sales. Users, particularly those new to computers, are being turned off by the PC's problems and instead are buying Macs.

A solution is needed, and after only 13 years of IBM-initiated aggro, Intel and Microsoft in conjunction with a bandwagon of other suppliers, from AMI to Compaq, are at least providing the answer: Plug and Play.

Plug and Play means being able to take any card from any manufacturer, bung it into any PC and it will work. First time. Sceptical? You should be; but having seen three ISA Plug and Play sound cards in one machine all simultaneously pumping out their own tunes, this user was impressed.

We have seen solutions to the expansion card configuration problems in the past. Both EISA (Extended Industry Standard Architecture) and IBM's proprietary MCA (Micro Channel Architecture) addressed the issue. Install a new EISA or MCA card, run the bus configuration software and your cards would all talk to your machine without conflict. However, despite these systems being more sophisticated, price stopped the customers buying.

ISA was, and still is, cheap. Cheap and nasty. ISA has no mechanism for configuration management, but nevertheless the ISA bus architecture requires allocation of resources. Parts of the system bewildering to the newcomer, such as memory and I/O address spaces, DMA channels and interrupts, have to be shared out among multiple cards. But there is no proper hardware or software interface to sort it out. It's a mess.

What's wrong with ISA?

Before we look in wonderment at the pain-relieving Plug and Play, it is worth examining exactly what the existing problem with ISA is. When you attempt to install an ISA sound card, it has to be configured so that it does not conflict with devices currently installed in your system. There are three main areas of potential interference. The first is the card's IRQ (Interrupt Request Line), 7 typically being the factory default. If a process or device wants to get a piece of the action in your system it needs to interrupt the CPU. Thus if the CPU receives an interrupt - or signal - down line 7, say, it knows it is the sound card talking. If anything else uses the same IRQ it is going to get confused.

The second consideration is the I/O port base address. This is a small (8-byte) contiguous area of RAM which represents where data can be sent or received.

The third resource that needs worrying about is the DMA channel for Direct Memory Access. The CPU does not want to be involved in every operation in the system and a block data transfer can be set up directly between a device and memory to free up the processor. A DMA channel therefore has to be selected for this to take place.

Configuring the card in this way actually points the various signals to different pins on the bus. All these three aspects of system resources have to be set for each device but nowhere is there a central database of configuration details, hence the pain of installing additional cards. It is trial and error while the user plays with hardware jumper settings on the card itself and fiddles with other parameters in the configuration software. Worse still, some IRQs may be available on the system, say, 2, 5, 7 or 10, but the card itself cannot use them as it has a limited range. This then means some other device has to have its IRQ changed first in order to accommodate the new card you are installing.

Enter Plug and Play. First the bad news: your current system is not compatible. Small but significant changes must be made to the design of the motherboard and to new expansion cards to make them Plug and Play ready. A tiny amount of additional logic and storage needs to be built into both, adding around $5 to each. Adapting existing motherboard designs will be easy and the change to cards simple, but unfortunately, updating your own PC to Plug and Play may not be viable.

The glimmer of good news is that non-Plug and Play cards will work in Plug and Play motherboards, and Plug and Play cards will work in non-Plug and Play motherboards. Plug and Play is not just for ISA and specifications are being developed for SCSI, PCMCIA, MCA, EISA, VL and IDE. PCI is apparently Plug and Play ready. One might question why Intel is bothering with the Plug and Play ISA problem if PCI (the Intel developed bus standard) already does the job. The answer is cost. PCI chipsets are still expensive compared with ISA and in sales volume ISA systems will swamp PCI PCs.

Plug and Play, formally introduced to the world in March 1993, works at three levels: the Configuration Utility, the Configuration Manager, and the extensions to the operating system BIOS that provides basic boot-strapping and initial configuration data. This last point tells us why existing systems cannot be upgraded. Flash (upgradeable on the board) BIOS would be okay given sufficient capacity (the Plug and Play code requires extra space) but standard ROM BIOS machines would have to stay non-Plug and Play compatible. The Configuration Utility (held on disk) runs at boot time, checking out and setting up system resources, while the Configuration Manager is an application users can run when installing new cards.

Multiple bus systems

The automatic configuration of system resources and expansion cards in an ISA system is a complicated business made even more complex by the existence of multiple bus systems. Indeed, some buses such as PCMCIA are hidden until initialised. If we examine the block diagram below representing the hierarchical bus structure of a typical multi-bus system we begin to appreciate the size of the Plug and Play auto-configuration task.

If we call each box in the diagram a node, then to configure the system we need to know: the unique node identification code, the resource requirements of each node, the resources already allocated to each node, and whether the node is a bus and therefore has 'child' nodes. Plug and Play uses 'bus enumerators' which assign specific unique ID codes to each device on a bus and retrieve configuration information from each device. 'Old' ISA cards cannot be read so a database is maintained on the system of this data, updatable by the Configuration Manager.

With the user happily plugging and playing, a typical job for Plug and Play would be to address two ISA cards uniquely which both ask for the same resources. In this case, Plug and Play has to establish each card's requirements and options and then modify the card's configuration. The Plug and Play process puts all cards and devices in configuration mode to isolate and deal with them one at a time. The appropriate resources are then allocated to the device, dependent on options built into the card and what resources are left (such as available DMA channels). If a card cannot be configured, the configuration of other cards is switched around to let it fit in. Clever. When the Plug and Play configuration program is happy that everything is hunky dory, the cards are switched from configuration mode to 'active' mode and the system is ready.

Portable plug and play

Plug and Play has plenty of future, particularly in the fast-growing portable computing arena. 'Hot swapping' of removable hard disks and PCMCIA cards is especially suited to an intelligent 'active' device auto-configuration system like Plug and Play.

Intel is currently offering three Plug and Play development kits: the Plug and Play for DOS and Windows Kit, for the development of PCs and drivers; the Plug and Play ISA Hardware Demo Kit to test out developers' products.

Plug and Play looks good, sounds good and we should see those auto-configuring systems and cards becoming widely available by the middle of the year. So, if you want to buy a new PC today, should you wait for one of these new machines? If you can hold on, do. After all, do you really want to resort to the axe again?

 

This article has been reproduced in full from the May 1994 issue of Personal Computer World Magazine published by VNU Business Publications Ltd., © Copyright 1994



Back to Top Back to Top


 

Computing for a Connected World