REVIUX

Motherboards BIOS

 Computers  >> BIOS

BIOS


Firmware on adapter cards

A computer system can contain several BIOS firmware chips. The motherboard BIOS typically contains code to access fundamental hardware components such as the keyboard, floppy drives, ATA (IDE) hard disk controllers, and USB human interfaces, and storage devices. In addition, plug-in adapter cards such as SCSI, RAID, Network interface cards, and video boards often include their own BIOS, complementing or replacing the system BIOS code for the given component.

In some cases, where devices which may also be used by add-in adapters, and actually directly integrated on the motherboard, the add-in ROM may also be stored as separate code on the main BIOS flash chip. It may then be possible to upgrade this "add-in" BIOS (sometimes called an "option ROM") separately from the main BIOS code.

Add-in cards usually only require such an add-in BIOS if they:

  • Need to be used prior to the time that the operating system (e.g. they may be used as part of the process which loads (bootstraps) the operating system, and:

  • Are not sufficiently simple, or generic in operation to be handled by the main BIOS directly

Older operating systems such as DOS, as well as bootloaders, may continue to make use of the BIOS to handle input and output. However, most modern operating systems will interact with hardware devices directly by using their own device drivers to directly access the hardware. Occasionally these add-in BIOSes are still called by modern operating systems, in order to carry out specific tasks such as preliminary device initialisation.

To find these memory mapped expansion ROMs during boot, PC BIOS implementations scan real memory from 0xC8000 to 0xF0000 on 2 kilobyte boundaries looking for a 0x55 0xaa signature, which is immediately followed by a byte indicating the number of 512 byte blocks the expansion ROM occupies in real memory.

The BIOS then jumps to the offset immediately after the size byte, at which point the expansion ROM code takes over and uses BIOS services to provide a user configuration interface, register interrupt vectors for use by post-boot applications, or display diagnostic information.

The BIOS boot specification

If the expansion ROM wishes to change the way the system boots (such as from a network device or a SCSI adapter for which the BIOS has no driver code), it can use the BIOS Boot Specification (BBS) API to register its ability to do so. Once the expansion ROMs have registered using the BBS APIs, the user can select among the available boot options from within the BIOS's user interface. This is why most BBS compliant PC BIOS implementations will not allow the user to enter the BIOS's user interface until the expansion ROMs have finished executing and registering themselves with the BBS API.

The Fall and Rise of the BIOS

Older operating systems such as DOS called on the BIOS to carry out most input-output tasks within the PC, with the introduction of newer operating systems such as Microsoft Windows, and Linux, the BIOS was relegated to principally providing initial hardware setup, and bootstrapping. Once it was up and running, the operating system didn't have to rely on the BIOS for much. In recent years, however by way of systems such as ACPI, the BIOS has taken on more complex functions such as aspects of power management, hotplug, thermal management etc. This has led to renewed reliance on the BIOS by operating system producers, and an increase in complexity in the BIOS code.

About  motherboards

Motherboards
BIOS
CMOS RAM
Form factor
BAT
LPX
 

Next reviux page...
Motherboards, CMOS RAM
 

 
 
 

Last Modified 11/10/06 10:36 AM