You are on page 1of 60

BIOS and CMOS

Adding personality to your PC

We Need to Talk!
The CPU needs some method to talk to the devices to tell them what to do The devices need some way to send data to, and receive data from the CPU We need to expand our logical model from the CPU chapter

CPU

Northbridge Address Bus

RAM

EDB

CPU

Northbridge Address Bus

RAM

EDB

Southbridge keyboard

Video Card

Hard Disk Drive

Chipset Address Bus CPU Northbridge EDB RAM

Chipset Southbridge

Keyboard Controller Hard Disk Drive Video Card

845 Chipset

925 Chipset

Keyboard
How we communicate with the keyboard

Problems
Different motherboards have different keyboard controllers We need specific code to talk to the controller We need a place to store this specific programming and the programming for other devices (optical drive, floppy, etc.)

Solution
Use a ROM chip Does not forget when power is removed, like RAM does Specific to motherboard and devices on it Read only, code does not change Can hold lots of programs, like a chapter book Called firmware

IBMs BIOS

BIOS BIO

Patent fence around BIOS

Making a ROM chip


We burn the code into the chip:

System ROM
Holds all the support programming for basic devices Is given a specific address space, or range of memory addresses for its code

The First Megabyte


Upper Memory
1 MB (384 KB) 640 KB

Conventional Memory

Address 0

Basic Hardware
CPU Mouse Keyboard Video card RAM Network card Sound Card Floppy drive Hard Disk drive Zip drive USB ports CD-ROM drive

Basic Hardware
CPU Mouse Keyboard Video card RAM Network card Sound Card Floppy drive Hard Disk drive Zip drive USB ports CD-ROM drive

Stored Information
Stores access/write code for keyboard Stores access/write code for system speaker Stores access/write code for other chips (functions) on motherboard Does not change (more on this in a moment)

CMOS
Complimentary Metal Oxide Semiconductor how it was made Stores specific information about your system:
Amount of RAM present Type of hard disk drive Date and Time

Needs battery power to remember when power is off

Chipset Address Bus CPU Northbridge EDB RAM

Chipset Southbridge

Keyboard Controller 20 Mouse Video Card

BIOS And CMOS

BIOS
All devices need BIOS code to interoperate with CPU. Some is stored directly in System BIOS chip, most is stored elsewhere. One of the functions of BIOS is to provide the CMOS Setup Utility, or Setup, which allows us to change CMOS data.

BIOS information

CMOS information

CMOS or Setup
Option to use this program is early in the boot cycle long before system loads Operating System Different key(s) to enter different Setups You should only get to Setup on purpose Program stored in BIOS, but only edits data in CMOS First CMOS was set of switches!

Who makes BIOS?



Same parent Award Software company Phoenix Technologies AMI American Megatrends Inc. They write BIOS with lots of options; motherboard maker picks sections to be used Long gone are IBMs patents on BIOS

Setup
Lots of screens and subscreens You dont need to know about all settings on all screens Motherboard book is mildly helpful on some options You should know generally where things can be found

Date and Time and


Usually on the first screen, or first menu choice Lets you set Date, Time, floppy present (will autodetect it), memory count, hard drive(s) present (again, autodetected)

Here is where you set the boot order

When adding a modem, you might want to turn both of these off.

Old CMOS
Stored the hard drive geometry which was NOT found on the drives label Old systems had a nasty habit of loosing CMOS data and requiring a trip to the repair shop to get fixed I spent many an hour hacking drive geometry values by trial and error

15

New CMOS
Did you notice the High Performance option? Did you see the Setup Defaults option? BIOS can talk to hard disk drive and get all the information it needs. About the worst that happens today is the need to reset date and time.

Chip Evolution
EPROM Erasable Programmable ROM; used ultra-violet light (sunlight) to erase EEPROM Electrically Erasable what we use today Flash ROM another name for EEPROM NVRAM Non-volatile RAM. Really not so, still needs battery power

The Three-In-One
We have BIOS that stores code and access program to CMOS We have CMOS that stores changeable information about our system We have RTC (Real Time Clock) that keeps track of date and time All three are now rolled into one chip

Easy way to spot this chip is by the shinny label

About that Battery


Should last 5 to 10 years You can find them at Savon even If your system forgets date and/or time, its time to replace the battery Beware the evil ESD!

More Battery
Sometimes we WANT to reset CMOS:
A forgotten password Too aggressive overclocking Incorrect low-level settings on some screen

Either move the jumper, or pull the battery Do either for about 10 seconds If you are to pull battery, make sure you unplug system too

10

More BIOS
Option ROM put a BIOS chip on the card/device
Video is most common for this SCSI cards Network cards have socket, chip is extra

Software Solutions
Device Drivers very flexible, but must wait until OS starts loading. CONFIG.SYS DOS utility program, runs before DOS really gets going SYSTEM.INI Introduced with Win 1 to 3, another text file. Win 9x wont boot without it; XP will The Registry Introduced with Win 95. Binary database of information

Software Help
Control Panel Graphical window to the Registry Device Manager Another graphical path to the Registry REGISTRY EDITOR(s):
REGEDIT REGEDT32

Power On Self Test (POST)


First thing to run when you start up computer Waits for power good signal from power supply, then starts the CPU FFFA is (almost) at the end of 1st meg of RAM, contains a Jump Immediate instruction to beginning of POST code CPU instructs our short list items to check themselves out with own diagnostic

POST, cont.
Until video card is done, we are in the dark and could get Beep Codes for errors. Dont memorize them. Constant beeping is either memory or video error. Once the video card has checked itself out, we could get error codes/messages on the monitor as other devices report status
5

POST, cont.
About this time, we get the option to run CMOS Setup routine POST is done; control passes to Bootstrap Loader. Its job is to find OS.
Looks for the Boot Sector on floppy/hard disk drive(s)

A disk with functional OS is called a Bootable Disk or System Disk. Could be floppy (DOS), CD or hard disk drive.

Boot Order
Somewhere in CMOS Setup is the ability to set the boot order, or the order in which the bootstrap loader will search for an OS. I set my systems to: CD/DVD drive, floppy and then hard disk drive. Usually, if a bootable CD is found, you get the option to boot from it (by pressing any key). Do nothing and loader continues the search for an OS.

POST Cards
Can be purchased; probably about extinct now. I could have used one about three times in my career so far. If another (known good) video card and/or memory wont boot, motherboard is toasted.

Flashing the BIOS


Mess up the process and motherboard is history Wont allow you to swap 486 for P4 chip Most processes require a bootable floppy with special program and very odd command line Some newer motherboards include Flash as Setup option. I would rather eat a bug

UEFI
At least Sandy Bridge processor and current motherboard. 32/64-bit replacement for BIOS Allows use of 3 TB+ drives without partitioning it down Good topic for an Internet search some rainy Saturday

You might also like