Cover Story (sidebar) / September 1994

Building a Better BIOS

Tom R. Halfhill

Key to the success of Plug and Play is the BIOS (Basic Input/Output System), which is primarily responsible for booting up a PC compatible and handling low-level device I/O. Without the BIOS cornerstone, even a fully PnP-integrated operating system like Chicago cannot provide hassle-free system configuration.

The BIOS is a historical holdover from the days when hard drives weren't available for PCs and even floppy drives were optional. Some mechanism was needed to bootstrap the system before a higher-level operating system loaded, and the solution was to store some low-level code in ROM chips on the motherboard. By some accounts, Microsoft would like to see the BIOS vanish from the PC architecture altogether. (Programmers in Redmond have reportedly been spotted wearing T-shirts with the slogan "BIOS? We Don't Need No Stinkin' BIOS!") But short of redefining the PC platform, the BIOS will be around for a while longer.

To accelerate the rollout of PnP, Intel has been supplying a set of PnP extensions to BIOS vendors. This kit makes it easier to get a PnP-ready BIOS to market, while still leaving room for vendors to differentiate their products. As usual with a BIOS, however, you probably won't perceive much difference unless something goes horribly wrong.

In a PnP system, the BIOS is minimally responsible for booting up motherboard devices like the DMA controller and the PIC (programmable interrupt controller), as well as an input device (typically the keyboard controller), an output device (typically the video controller), and an initial program load device (typically the hard drive that stores the operating system, although some mobile computers might boot up the system software from ROM or a PCMCIA card).

Due to gray areas in the PnP specifications, what happens next isn't clearly defined. If the system has a PnP operating system as Chicago will, Microsoft would prefer to see the BIOS bow out at this point and let the operating system's more sophisticated arbitrators take over. But some BIOS vendors are going a little further, incorporating simpler routines that try to configure all other devices in the system. That's desirable for PCs without a PnP operating system. But if there is a PnP operating system, the BIOS might leave the machine only partially configured and limit the operating system's options for resolving the problem. Unfortunately, the current PnP specifications don't define a way for the BIOS to know if a PnP operating system is going to run.

"PnP is a really complex technology," explains Albert Saraie, senior marketing manager for advanced technology at Phoenix Technologies (Norwood, MA), the leading BIOS vendor. "If we try to solve every problem in the PC industry the first time around, we'll never get anything out the door."

Phoenix shipped its first PnP-ready BIOS early this year, and it's already appearing in new systems from NEC and Gateway 2000. Like most major BIOS vendors, Phoenix offers its PnP BIOS in a flash ROM, as well as a conventional mask ROM. Flash ROMs are rewritable, so if the BIOS ever needs upgrading, the system vendor can distribute a simple flash upgrade program on a floppy disk. The only way to upgrade a mask ROM is to swap chips.

Adding PnP to a BIOS isn't a trivial task. For the sake of economy, everything has to fit inside a single flash ROM with 1 Mb (128 KB) of memory. SystemSoft (Natick, MA) says its new PnP BIOS includes the regular system BIOS (about 64 KB), PCI (Peripheral Component Interconnect) extensions (10 to 12 KB), power management (2 to 10 KB), and PnP support (12 to 16 KB). Computers with an on-board VGA controller (mostly notebooks, but also some desktops) require an additional 32 to 40 KB of BIOS code. If there's any room left, BIOS vendors want to make it available as nonvolatile storage for PnP configuration information.

SystemSoft's solution is to compress the BIOS code to conserve space in the flash ROM and then decompress the code and copy it into shadow RAM during boot-up. Other BIOS vendors also take this approach. SystemSoft began shipping its PnP BIOS in February, and the first systems should be available now.

Copyright 1994-1998 BYTE

Return to Tom's BYTE index page