BIOS, CMOS and POST

BIOS

BIOS is short for Basic Input/Output System. This small program is used to startup the computer and communicate with hardware before an operating system is loaded. BIOS is stored in ROM chips on the mainboard. Some chips contain programs to support basic hardware such as parallel and serial ports, keyboard and the speaker. Another ROM chip, called the CMOS (complementary metal-oxide semiconductor) chip stores information that is subject to change such as time/date, power saving settings, and video adapter, hard drives and other device settings. BIOS settings are applied at every startup. Modern PCs copy the BIOS information to RAM for faster performance, this process is called shadowing.

Here is a picture of a common BIOS CHIP:


CMOS settings can be changed in the CMOS Setup, which can mostly be entered by pressing the DEL or F2 key during startup (depends on manufacturer, other key or key combinations might apply). Some of the most common CMOS settings are described later in this TechNote. Most mainboards have a "CMOS restore to factory defaults"- jumper which allows you to return to the default CMOS settings configured by the manufacturer. This is useful when you cannot access the CMOS Setup because of incorrect CMOS settings or lost CMOS passwords. Make sure the power is completely off when you shorten the jumper.



CMOS Battery
The information contained in the CMOS chip is maintained by a battery. If the battery runs low, the CMOS content will be lost and POST will display a "CMOS invalid" or "CMOS checksum invalid" message. The first symptom for a battery running low is time slowing down and eventually complete loss of date and time. In some cases you might get a boot device error because a boot device such as floppy disk or hard drive can not be located. Almost always the CMOS battery can be replaced very easily. Here is a picture of a common CMOS battery:



BIOS Upgrades

Most modern BIOSs are stored on flash memory, this enables you to upgrade the BIOS software when needed, in some cases this is necessary to support new hardware technologies/devices. Upgrading the BIOS is called flashing, before you do make sure you write down all settings and during the process pray the power won't be interrupted. The BIOS version ID is displayed during startup. Some mainboards allow replacing the BIOS ROM, although this is not done often.


POST
During startup the BIOS also invokes The POST (Power On Self Test), also stored in ROM, a program that runs multiple self-diagnostic routines. When the computer does not pass the POST it will display an error code or message, or generate a beep code through the speaker when display is not functioning. Failing the POST does not always mean the computer will not be able to boot, required devices that need to pass the POST are CPU, RAM, display adapter and boot device, but if the floppy drive is missing the computer can still be able to continue the boot process. The meaning of the beep codes vary depending of the manufacturer mostly they indicate memory, CPU, display and keyboard problems. Most BIOSs beep once to check if the speaker is working or to confirm that the post has passed successfully.
For the exact meaning of beep codes for AMI BIOSs click here and for Phoenix and Award click here.

Although most BIOS manufacturers started using error text messages, some use numeric POST error codes. Some of them are listed below:
POST error code Probable Cause
1xx Mainboard related errors
200-299 Memory related errors.
3xx Keyboard related errors
151 Real-time clock failure
161 BAD CMOS memory
6xx Floppy Disk related errors
1700-x Hard drive controller
31xx Network Adapter related errors
Click here for a complete list of numeric error codes by IBM.


COMMON CMOS SETTINGS
Printer parallel port—Uni., bi-directional, disable/enable, ECP, EPP

In the CMOS you are able to configure a parallel port to use EPP or ECP. Enhanced Parallel Port and Extended Capabilities Port are both bi-directional standards, operate in 8-bit, and allow data transfer speed of approximately 2 MB/s. Some of the main differences are that ECP supports Direct Memory Access (DMA) and data compression, which enables higher transfer rates. It is also possible to completely disable the parallel port in the BIOS. Most BIOSs allows you to set the DMA channel, when the port mode is set to ECP.

COM/serial port

Most personal computers have 2 serial ports. In the BIOS you can assign COM1/COM2/COM3/COM4 to serial port 1 or 2. Most BIOSs also allow you to set the I/O and IRQ but this is mostly done automatically.


Floppy drives

The floppy drive(s) can be enabled/disabled in the BIOS (e.g. set to Not Installed). The BIOS also allows you to choose the capacity of the media.
- 360 KB 5.25 inch
- 1.2 MB 5.25 inch
- 720 KB 3.5 inch
- 1.44 MB 3.5 inch
- 2.88 MB 3.5 inch
Some BIOSs also allows you to swap A: and B: and disable seeking a floppy disk for a boot sector during startup.

Hard drivesMost modern BIOSs allow automatically detection of disk parameters. These are some of the primary CMOS settings that apply to hard drives (and CD/DVD-ROM drives, etc.), the settings can be individually configured for the primary master and slave device and the secondary master and slave device.

Type
Common disk types are:
- User, User-defined CHS values
- Auto, automatically detects hard disks parameters at every startup.
- 1-46, predefined combinations of CHS values.
- CDROM, used fot atapi CD-ROM drives
- ARMD, used fo atapi ZIP and LS 120 drives.
- DVDROM

SizeDetermines the capacity of the drive.

CHS values
- number of Cylinders
- number of Heads
- number of Sectors

LBA (Large Block Addressing), technologie to overcome the 528 MB limit.

Another common CMOS setting related to hard drives is Boot Sector Virus protection Enabled/Disabled, enabling this will make the BIOS issue a warning message/beep if a write to the boot sector or partition table of a hard disk is attempted.


Memory
Today's motherboards provide too many BIOS settings regarding to memory to discuss here and most are beyond the scope of the exam. CompTIA does mention parity, non-parity in the exam objectives. Parity adds an extra bit (odd or even) to the 8-bit data-string to ensure data integrity in memory modules. Its successor, ECC, provides even better ways to ensure the data integrity by adding information about individual bits.


Boot sequence
This setting is used to determine in which order devices (e.g. CD, floppy or hard disks) the computer should look for a boot sector.


Date/Time
The Date and Time is set in the BIOS, stored in CMOS, maintained by CMOS battery.


Passwords
In most cases a user (startup) password and a supervisor (setup) password can be set in the CMOS. When a Setup password is required the computer will prompt for it when you try to access the BIOS setup. When a Startup password is configured the computer will prompt for it at every startup. The CMOS password can be reset by shortening the "CMOS restore to factory defaults jumper" or by temporarily removing the CMOS battery.


Plug & Play BIOS
Today's BIOSs are PnP-aware. This means they are able to automatically assign resources such as IRQ and DMA to Plug and Play devices. Information about these PnP devices is stored in a separate area of non-volatile CMOS memory, called the ESCD (Extended System Configuration Database). The PnP BIOS and the operating system can both access this area so they can communicate with each other about resource settings assigned to PnP devices and also to non-plug and play devices. For example, when a fixed IRQ is manually assigned to a particular device using Device Manager, Windows will write this information to the ESCD on shutdown preventing the BIOS from assigning the same IRQ to a PnP device at startup. You can also reserve IRQ's for non-plug and play devices in the CMOS setup, this will prevent the BIOS from assigning these reserved resources to PnP devices, a common example is a legacy sound card that needs IRQ 5.


Power Management
Modern mainboards provide ACPI (Advanced Configuration and Power Management Interface) settings such as wake-up, power button function and standby/suspend timers, these are also configured in the CMOS Setup.

No comments:

Post a Comment