Reference Series Table of Contents For This Issue

How Computers Work, Part I
August 2001• Vol.5 Issue 3
Page(s) 48-53 in print issue

Silicon Launch Pad
The Role Of The BIOS In Starting Your PC
Most of us don’t pay much attention to what’s going on during the boot (or startup) process, since our day-to-day interactions take place primarily within the operating system’s environment. However, there are a great many things taking place during those few seconds (or minutes, depending on the computer) your computer takes to complete its startup routine.

The term boot is steeped in computing tradition and hearkens back to the days of the big iron mainframes. Computer engineers used programs called bootstrap loaders to initialize the startup sequence. They initially called this process bootstrapping, a name derived from the much more mundane act of pulling on one’s boots by the bootstraps. Eventually, engineers and users shortened this terminology (either for the sake of efficiency or laziness), and the term “booting” was born.

The term BIOS is an acronym that stands for Basic Input/Output System. The BIOS resides in ROM, so its contents don’t vanish each time you turn off your PC, as is the case with system memory, or RAM. At its most basic, the BIOS is a set of operating instructions stored in ROM memory. In fact, it includes the very first instructions that a computer’s CPU and peripherals encounter when you turn on your PC or reboot it. In a physical sense, the BIOS resides in a small, unassuming chip attached to your PC’s motherboard, or main circuit board (see photo on this page).



This screen from an AMIBIOS lets users instruct the program how to conduct the startup process, giving them specific control over error messages and hardware controllers.
A computer’s startup process initiates a chain of control that eventually finds its way to you, the user. Before you gain control, however, the computer’s CPU, peripheral hardware, low-level firmware (software stored in ROM that remains even if a PC’s power is off), and ultimately its OS (operating system) must work in concert to achieve a normal startup. The BIOS is the conductor that ensures this combination of devices and code works harmoniously to generate a normal startup routine.



  A Quick Look Back. The advent of the Y2K scare dragged the BIOS into the limelight. Suddenly, users who had previously cared not a whit about a computer’s boot process had to face the prospect of encountering machines that would not start normally come Jan. 1, 2000. The whole thing came about as a result of computing pioneers settling on two-digit year identifiers back in the days when bits and bytes were extremely scarce. The possible problems that could have arisen when computers around the world rolled from 99 to 00 are all well documented and largely behind us. The years leading to the turn of the century, however, brought about an unprecedented flurry of activity as individual users, corporations, and governments all scrambled to retrofit critical systems.

Manufacturers designed all systems built after 1997 to be Y2K-compliant, meaning that the BIOS would make the transition into the new century with no problems. Users and IT (information technology) specialists upgraded older machines in a variety of ways, including a process called flashing. Essentially, flashing a computer’s BIOS involves performing a BIOS upgrade by replacing its current instruction set with new software (see the “Flash-Forward” sidebar for more information). Most modern BIOSes are flash upgradeable, and computer manufacturers frequently post updates to their PCs’ BIOS instructions as they create revisions and patches. It is a good idea to keep an eye on these revisions and to implement patches periodically to keep your computer in top shape.

Although thanks to a great deal of preparation the Millennium Bug failed to cause more than a few slight hiccups, it did result in increased awareness of what BIOSes are and what they do. People found out about such things as RTCs (real-time clocks) and CMOSes (complementary metal-oxide semiconductors) and how they interact with BIOSes. Because a BIOS obtains the time and date from a computer’s RTC and the century information from its CMOS, it made sense to assume major problems would occur when 99 rolled to 00. To everyone’s relief, the rollover essentially turned out to be a non-event around the world.

The BIOS as we know it today had its beginnings with IBM’s personal computer. In the early days, IBM developed a rudimentary BIOS that controlled basic functions in its line of personal computers. This initial BIOS possessed rather limited capabilities by today’s standards, as it did not recognize hard drives, floppy diskette drives, or video adapters. Also, IBM kept its proprietary BIOS program strictly to itself, so it became very difficult for other manufacturers to successfully produce IBM-compatible PCs.

The BIOS developed for IBM’s PC XT, introduced in 1983, was a step forward in capabilities. This BIOS, unlike its predecessor, was able to communicate with other components, such as hard drives and video adapters, and could enable the ROM for these devices. Although it couldn’t control them, it was a significant step forward in the evolution of the BIOS firmware.

IBM’s efforts to keep its BIOS firmware a proprietary product did not dissuade its competitors for long. Compaq and other competitors were soon able to reverse engineer IBM’s programming and develop their own versions of the BIOS. However, this software often created compatibility problems with IBM-compatible PCs, which had an adverse effect on the fledgling PC market.

All of that changed in 1984, however, when Phoenix Technologies launched a commercially available BIOS for the PC XT. Suddenly, PC makers were able to scuttle their BIOS development efforts in favor of commercially developed firmware that would work with all types of software and hardware. Soon after the arrival of Phoenix on the scene, AMI (American Megatrends Incorporated) joined the fray, and manufacturers were soon able to license BIOSes from these companies.



  The BIOS Marketplace. Even though some large OEMs (original equipment manufacturers) have in-house BIOS engineering staffs, many still choose to use third-party BIOSes from the two biggest names in BIOSdevelopment, AMI and Phoenix. And because Phoenix recently acquired a third prominent BIOS company called Award Software in 1998, AMI is its main competitor. Laurent Gharda, vice president of marketing for Phoenix, says the company currently supplies 70% of the computer industry’s BIOSes.

BIOS providers must, by their very nature, keep up with the constant stream of new technologies and standards that appear in the PC market. In fact, BIOS providers often participate in the standards development process with industry heavyweights such as Microsoft, Intel, and others. Clark indicates, for example, that AMI was a Reference Partner for Intel’s Itanium 64-bit chip development effort and is participating with Intel in the development of its second-generation 64-bit chip, code-named McKinley.

As computing hardware evolves beyond the traditional beige box and into other environments, BIOS providers must also evolve and adjust to new market needs. According to industry experts, the current emphasis is on simplified BIOS code that wields a smaller footprint and is easier to maintain. For example, OEMs who manufacture smaller, specialized devices, such as handheld computers, Internet appliances, and Web access devices (such as Web tablets), are looking to economize throughout all aspects of system design, and the system BIOS is no exception.

As an example of the breadth of capabilities modern BIOSes must wield, consider AMI’s latest software solution for OEM BIOS development, AMIBIOS8. According to AMI, the software supports Intel’s Pentium III and 4 processors, AMD’s Athlon and Duron chips, and Transmeta’s Crusoe CPUs. In addition, it supports such industry standards as ACPI (Advanced Configuration and Power Interface), USB (Universal Serial Bus) 1.1 and 2.0, Ultra DMA (Direct Memory Access)/33, UDMA/66, UDMA/100, PCI (Peripheral Component Interconnect) 2.2, and 64-bit PCI. It also provides support for up to 16 processors and system memory (RAM) exceeding a whopping 4GB.



  A BIOS Is Born. A BIOS contains a set of core functions that are similar across all versions, be it a BIOS for a multiprocessor server or a Web tablet. Typically, an OEM hands the BIOS developer a set of requirements, which it uses to generate a version of the firmware that it then tweaks to work best with the pertinent device. In fact, BIOS developers keep multiple versions of their core programs, each one designed to work best within the hardware capabilities and limitations of a particular platform.

As the art of BIOS development has evolved, so has the need to “modularize” code. When developers use code modules, they are able to add logic to (or remove it from) the core BIOS functions as needed, without the need to write new code from scratch each and every time an OEM requests new firmware. This makes modules critical to the reduction of BIOS complexity, as using them within a development environment gives OEMs access to component libraries and lets them use only the code modules required to make their own devices work. For example, there is no need to install BIOS services that check for hard drive type in a BIOS designed for a small device, such as a PDA (personal digital assistant) or HPC(handheld personal computer), that has no hard drive.

“Typically, customers approach a BIOS developer, such as AMI, seeking a customized solution,” said Stacey Levin, an AMI marketing associate. “The process starts with a ‘statement of work,’ which outlines the unique needs of the customer. This statement of work is then passed on to a development team, who begin coding the customer’s solution. Ninety percent of the BIOS Porting Department’s work is customization to meet specialized requirements.”



The Miscellaneous Options screen of this AMIBIOS (Basic Input/Output System) lets you configure cache memory and assign addresses to serial and parallel peripheral ports.
Once coding is complete, a developer tests the BIOS to insure compatibility with all hardware and software it is likely to encounter within its environment. For future compatibility, developers frequently test and validate BIOSes on products still in development. When a BIOS finally passes a particular manufacturer’s standards for approval, the BIOScompany creates an image it can copy onto ROM chips and churns out thousands of them at a time for final production in a BIOSassembly line process.



  Your PC Gets The Boot. In the instant after you turn your computer on and electricity surges throughout the board, the CPU comes alive. Its first “conscious” act is to reset itself to resemble a blank state and begin executing the first 16 bytes of code in the BIOS. When this happens, the BIOS begins work on the first of its many tasks, namely querying the CPU for data about itself, contacting the CMOS and the RTC for time and system information, and checking the amount of available RAM.

It is easier to understand the purpose of the BIOS by thinking of the computer as a set of layers. At the very bottom is the computer’s hardware, the various electronic components that all meet in some fashion at the system’s motherboard. At the very top of this layer structure are the various application programs with which we interact daily, such as the operating system’s GUI (graphical user interface) and the various applications we run. Think of the BIOS as the very first layer of software standing between the computer’s hardware and the OS’ primary functions. The BIOS’ job is to initialize, test, and ultimately serve as the go-between for all this hardware and the computer’s OS. Eventually, this chain of control ends with you, the end user.

The BIOS is the prime mover in that arcane area of computing where hardware ends and software begins. Programmers and end users do not have to worry about the black art of managing interrupt vectors and POST (power on self test) services, as the BIOS assumes that responsibility on their behalf.

A few seconds after turning on the power, the computer is on and the CPU has just passed control over to the BIOS. The BIOS then gathers data about the CPU’s type and initializes it. Once finished, the BIOS reads information from the CMOS and the RTC. Some of this information includes the time, date, and century; the system’s hard drive type; the boot source; and the total amount of system memory.

The BIOS also compares the amount of RAM present in the system to the amount according to the CMOS. You can see this happening shortly after the computer begins the boot process and appears to “count” the RAM. If the two numbers do not match, the BIOS displays a warning advising you of the discrepancy. This sometimes indicates that a memory module is defective or improperly seated in the slot.

As the boot process continues, the BIOS polls the CMOS and verifies the identity and status of other system components. For example, the computer is able to interpret the keystrokes from your keyboard correctly because the BIOS queries the device and is able to determine the type of keyboard connected to the computer.

Besides initializing the hardware, the BIOS is also responsible for testing it and making sure it is working properly. It is during this step (the aforementioned POST process) that the BIOS may query other secondary BIOSes, such as those present in many modern hardware peripherals. During this process, the BIOS may allow a secondary BIOS to take control of a particular device. In a sense, the computer’s BIOS is able to update itself with new information by doing this, because by virtue of querying this secondary BIOS it is able to “learn” about a new device. So, you can rest assured (most of the time, anyway) that your system will recognize the snazzy new DVD-ROM drive you just installed with minimal hassle and interference on your part.



Don’t let its size fool you; without this tiny BIOSchip, a PCcouldn’t even get started.
The final step of the boot process is the loading of the OS itself. To do this, the BIOS searches the A: drive and the C: drive (the floppy diskette drive and primary hard drive in most configurations) for a bootable diskette or other files needed for startup. A bootable disk, whether a diskette or hard drive, typically stores the boot record in its first sector (or data storage division) and contains two parts: the location of the root directory (the main directory that encompasses all other directories on the drive) and a program called the OS loader. The loader takes over and initiates the final loading of the OS, which eventually passes ultimate control of the computer to you. Of course, depending on the complexity of your computer’s OS and its operating environment (whether your computer is connected to a LAN [local-area network], for example), the boot process may take a bit longer as it loads increasingly complex programs, drivers, and routines to complete the startup sequence.



  Other BIOS Functions. Once the boot process is complete and the user is in control, the BIOS watches over the electrical signals and logic commands that comprise the computer’s daily routine, and gives software elements access to the computer’s hardware capabilities.

It does this with the help of software interrupts, or collections of services that the hardware is able to deliver via communication with the BIOS. For example, the PhoenixBIOS 4.0 users manual tells us that software interrupt 10h handles all video services, such as setting cursor size and position and setting the video display mode. Other services include Diskette and Fixed Disk Services (Interrupt 13h), APM (Advanced Power Management) services (interrupt 15h), and others. As computers have evolved, so have the services offered by the BIOS. For example, modern BIOSes include services that expose new technologies to the system software, such as APM, Plug and Play, and the SMBIOS (System Management BIOS), a component of Windows’ Desktop Management Interface for remote management of PCs.

You can think of software interrupts as the link between the system software and the capabilities of your PC’s hardware. Using the BIOS, the system software is able to access the hardware as determined by the plethora of services contained in the interrupts. Thus, the BIOS and the software interrupts comprise the mechanism that “magically” turns a user’s intervention into action. This is the control that lets you bend the computer’s hardware to your will as you go about your daily work.



  The Future. As Moore’s Law (which states that the complexity and computing power of CPUs will double every 18 months) continues to propel computing power upward, BIOS developers will continuously have to raise the bar on their development efforts just to keep up. For example, the recent release of Intel’s Itanium chip represents the dawn of 64-bit computing for the Wintel (short for Windows and Intel) platform. This leap in computing power requires an entirely new architecture for Intel, heralding the end of the x86 generation of CPUs, at least in the enterprise server arena. As mentioned earlier, BIOS makers, such as AMI, worked closely with Intel during the development of the new chip.

The expansion of computing power into new arenas, such as network appliances, wireless devices, and even smart household appliances (whimsical items such as Internet-connected refrigerators and washers) represents a unique challenge for BIOS developers, who must reduce the complexity and size of their code to fit these smaller operating environments. BIOS customers will demand further customization as the devices they use get smaller, but capabilities and services increase. Some BIOSes even take Internet service into consideration by letting users or OEMs customize user Internet preferences, even to the point of configuring a BIOS to work with their ISP (Internet service provider) of choice.

Exciting times are definitely in the cards for BIOS developers as technology surges ahead in every aspect of our daily lives. Automation and technology are becoming integral parts of today’s world, and this small, unassuming chip’s importance is sure to increase in coming years.  

by Sixto Ortiz Jr.

View the graphics that accompany this article.
(NOTE: These pages are PDF (Portable Document Format) files. You will need Adobe Acrobat Reader to view these pages. Download Adobe Acrobat Reader)


Flash-Forward


At first glance, it seems impossible to upgrade a computer’s BIOS (Basic Input/Output System) without physically opening the case, pulling the BIOS chip off of the motherboard, and inserting a new one in its place. Luckily for most computer users, most ROM BIOS chips are upgradeable via a process we mentioned earlier called flashing. The technology behind the ability to upgrade a BIOS comes to us in the form of a variant of the traditional ROM chip, called an EPROM (erasable programmable ROM). An EPROM chip maintains the data contained in it until a user intervenes and reprograms it by flashing the BIOS. The flashing process simply involves running a program containing the code needed to complete the upgrade and rebooting, after which the BIOS upgrade is typically complete.

So what’s the advantage here? Well, manufacturers of computers and other devices often need to post upgrades and patches to their device BIOSes in order to patch deficiencies, correct compatibility problems, and, in some cases, provide new capabilities. For example, flashing some modems’ BIOSes could add compatibility with new standards, such as the uniform V.90 standard that emerged a few years ago.

The BIOS is so central to the cohesive functioning of your system’s software with its peripherals that a BIOS upgrade is often a cure for system problems. As a computer user, it’s a good idea to periodically check a manufacturer’s Web site for BIOS updates. Whatever you do, be sure to follow the manufacturer’s instructions for flashing a BIOS on a peripheral or on your motherboard to the letter. This seemingly simple operation can cause a piece of hardware to become unusable if done incorrectly. For example, some manufacturers’ Web sites warn that turning off the computer’s power during a flash upgrade can cause a hardware device to become unusable.




Want more information about a topic you found of interest while reading this article? Type a word or phrase that identifies the topic and click "Search" to find relevant articles from within our editorial database.




© Copyright by Sandhills Publishing Company 2001. All rights reserved.