Plug and PlayOr 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 |
|