Sunteți pe pagina 1din 19

NetPro Certification Courseware for NetPro Certified Systems Engineer – N.C.S.

BIOS AND CMOS


Although every personal computer uses the same essential sub-assemblies, each
subassembly is designed a bit differently. This is especially true of the processing
components contained on a motherboard—this is understandable, given the
tremendous speed at which PC components and technology are advancing.
Unfortunately, variations in hardware make it difficult to use a single standard
operating system. Instead of tailoring an operating system (and applications) to
specific computers, a Basic Input/Output System (BIOS) is added on ROM ICs to
provide an interface between the raw PC hardware and the standardized operating
system—BIOS gives an OS access to a standard set of functions. As a result, every
system uses slightly different BIOS, but each BIOS contains the same set of
functions, which an OS can interface to. This section explains the internal workings of
typical BIOS, illustrates some means of identifying BIOS versions, and shows you the
many features that modern BIOS must support. Of course, BIOS is not limited solely
to the motherboard, although most BIOS versions carry enough routines to support
video and drive-controller operations—in addition to other motherboard features. But,
what happens when a new video card is developed that the system BIOS does not
know how to work with or when an advanced drive-controller board becomes
available? It is common in computer design to include a BIOS ROM for major sub-
systems, such as video and drive control. One of the early steps of system
initialization is to check for the presence of other valid BIOS ROMs located in upper
memory (between 640KB and 1024KB). These are usually referred to as “expansion”
or adapter BIOS. When another BIOS is located, it is also checksum-tested and used
by the

PC. In general, a PC can be fitted with up to five or more BIOS ROMs:


 System (motherboard) BIOS
 Video BIOS
 Drive-controller BIOS
 Network-adapter board BIOS
 SCSI-adapter BIOS

Specialty software manufacturers, who make BIOS chips, supply the ROM chips. The
primary suppliers are:
 Phoenix
 AMI (American Megatrends)
 Award
You can read the name of your BIOS chip during start-up. You can also see the chip
on the system board.
NetPro Certification Courseware for NetPro Certified Systems Engineer – N.C.S.E

A LOOK INSIDE THE MOTHERBOARD BIOS

The typical BIOS ROM occupies 128KB of space in the system’s Upper Memory
Area (UMA) from E0000h to FFFFFh (within the PC’s first MB of memory).
Contrary to popular belief, BIOS is not a single program, but an arsenal of individual
programs—most quite small. In general, BIOS contains three sections the POST, the
CMOS setup routine, and the System services routines. The particular section of
BIOS code that is executed depends on the computer’s state, and its activities at any
given moment.

POST

Although many novice technicians are aware that POST checks the system, few are
aware that POST actually manages the entire system startup. The Power-On Self-Test
handles Post Setup System routines virtually all of the initialization activities for a
PC. POST performs a low-level diagnostic and reliability test of the main processing
components—including ROM programs and system RAM. It tests the CPU, initializes
the motherboard’s chipset, checks the 128 bytes of CMOS for system-configuration
data, and sets up an index of interrupt vectors for the CPU from 0000h to 02FFh.
POST then sets up a BIOS Stack Area from 0300h to 03FFh, loads the BIOS Data
Area (BDA) in low memory 0400h to 04FFh, detects any optional equipment (adapter
BIOS ROMs) in the system, and proceeds to boot the operating system.

Power On Self Test is the first instruction executed during start-up. It checks the PC
components and that everything works. You can recognize it during the RAM test,
which occurs as soon as you turn power on.
NetPro Certification Courseware for NetPro Certified Systems Engineer – N.C.S.E

A TYPICAL POST SEQUENCE :-

1. Processor test
2. Coprocessor test if any
3. BIOS ROM checksum test
4. Timer test
5. DMA controller test
6. Memory test
7. CRT controller test
8. Keyboard test
9. BASIC ROM test
10. FDC test
11. HDC test
12. Parallel and Serial port test
13. Load the OS

POST SEQUENCE FOR PHOENIX BIOS

1. Check the CPU The registers and control lines of the CPU are checked. Any
problems will usually be the result of a faulty CPU or clock IC.

2. Test CMOS RAM The CMOS IC is tested. A fault is usually caused by a


failure of the RTC/CMOS IC.

3. BIOS ROM checksum A checksum is performed on the BIOS ROM. If the


calculated checksum does not match the factory-set value, an error is
generated. A checksum problem is typically the result of a faulty BIOS ROM.
Try replacing the BIOS ROM.

4. Test chipset(s) The system checks any chipsets (such as the Intel or VIA
chipsets) for proper operation with the BIOS. A problem here is typically
caused by a fault in the chipset. Replace the motherboard.

5. Test PIT The Programmable Interrupt Controller (PIT) is tested to ensure that
all interrupt requests are handled properly. A problem here indicates that the
PIT IC is defective.

6. Test DMA The Direct Memory Access (DMA) controller is tested next. The
CPU, the DMA IC, or an address-line problem typically causes a fault at this
point.

7. Test base 64KB memory BIOS checks the lowest 64KB of system RAM. A
problem here is caused by a fault in memory, or an address-line problem.
NetPro Certification Courseware for NetPro Certified Systems Engineer – N.C.S.E

8. Check serial and parallel ports The system checks the presence of serial-
and parallel-port hardware, and I/O data areas are assigned for any devices
found.

9. Test PIC The Programmable Interrupt Controller (PIC) is tested to see that
proper interrupt levels can be generated. A problem here is typically caused by
a fault in the PIC IC.

10. Check KeyBoard Controller (KBC) The keyboard controller IC is tested for
proper operation. If a problem occurs, the keyboard controller is likely
defective.

11. Verify CMOS data within the CMOS is checked for validity. If the extended
area returns a failure, CMOS data has probably been setup incorrectly.
However, continuous failures typically represent a faulty RTC/CMOS IC.

12. Verify video system Video RAM is tested, then the video controller is
located, tested, and initialized. A fault is usually the result of a defective video
controller. If the controller is located on an expansion board, try replacing the
video board.

13. Test RTC The Real-Time Clock (RTC) is tested next and each frequency
output verified. A problem here is usually caused by a fault in the RTC, PIT,
or system crystal.

14. Test CPU in protected mode The CPU is switched to protected mode and
returned to POST at the point indicated in CMOS RAM offset 0Fh. When
this step fails, the CPU, keyboard-controller IC, CMOS IC, or address line(s)
might be at fault.

15. Verify PIC 2 Counter #2 is tested on the PIC IC. If this test fails, the PIC IC is
likely defective.

16. Check NMI The NMI is checked to be sure it is active. A problem here often
indicates trouble with the CMOS IC, but it could also reflect problems in the
BIOS ROM, PIC IC, or CPU.

17. Check the keyboard the keyboard buffer and controller are checked

18. Check the mouse BIOS initializes the mouse (if present) through the
keyboard controller. A fault is usually caused in the mouse-adapter circuit.

19. Check system RAM All remaining system RAM is tested in 64KB blocks.
Trouble usually means a defective memory IC.
NetPro Certification Courseware for NetPro Certified Systems Engineer – N.C.S.E

20. Test disk controller Fixed- and floppy-disk controllers are checked using
standard BIOS calls. Problems here are usually the result of defective
controllers or faulty drives. If the controllers are installed on expansion
boards, you can try replacing the respective expansion board.

21. Set shadow RAM areas The system looks at CMOS to find which ROM(s)
will
Be shadowed into RAM. Problems here are often caused by a faulty adapter
ROM or problems in RAM.

22. Check extended ROMs BIOS looks for signatures of 55AAh in memory
which indicate the presence of additional ROMs. The system then performs a
checksum test on each ROM. A problem with this step generally indicates
trouble with the extended ROM or related adapter circuitry.

23. Test cache controller The external cache-controller IC is tested. A problem


is usually caused by a fault in the cache-controller IC itself or by a defect in
cache memory.

24. Test CPU cache The internal cache present in the CPU is tested. A problem
here is almost always caused by a CPU fault.

25. Check hardware adapters BIOS proceeds to check the high-level sub-
systems, such as the video system, floppy disk, hard disk, I/O adapters, serial
ports, and parallel ports. Problems usually reflect a fault with the respective
adapter or with an invalid CMOS setup.

26. Load the OS At this point, BIOS triggers INT 19h that is the routine that
loads an operating system. An error here generally results in an error
message, such as “Non- system disk.”

Minimum hardware requirement for the execution of POST also known as IPL (Initial
Program Load) are:

1. Power Supply
2. Clock Logic
3. Bus Controller
4. Microprocessor
5. Address Latches
6. Data Bus and Control Bus Transceivers
7. BIOS ROM
8. ROM address decode logic
NetPro Certification Courseware for NetPro Certified Systems Engineer – N.C.S.E

ERROR MESSAGES

If POST detects errors in the system, it will write error messages on the screen. If the
monitor is not ready, or if the error is in the video card, it will also sound a pattern of
beeps (for example 3 short and one long) to identify the error to the user. If you want
to know more of the beeps, you can find explanations on the Award, AMI and
Phoenix web sites. For instance you will receive error messages if the keyboard is not
connected or if something is wrong with the cabling to the floppy drive. POST also
reads those user data, which are found in the CMOS.
SYSTEM DATA AND TROUBLESHOOTING

SETUP

The hardware configuration for any given computer is maintained in a small amount
of CMOS RAM, and a CMOS setup routine is required in order for you to access the
system’s configuration. Older i286 and i386 systems provided the CMOS setup
routine as a separate utility included with the system on a floppy disk. In most cases,
the “setup disk” was promptly misplaced or discarded. Starting with late-model i386
and later systems, the CMOS setup routine has been integrated into the motherboard
BIOS itself. The actual CMOS setup program can vary tremendously between system
manufacturers and mother-boards, so there is no one standard for just what settings
can be controlled or where those entries are located.

SYSTEM SERVICE ROUTINES

The system services (also referred to as BIOS services) are a set of individual
functions that form the layer between hardware and the operating system. Services are
called through the use of interrupts. An interrupt essentially causes the CPU to stop
whatever it was working on and sends program control to another address in memory,
which usually starts a subroutine designed specifically to deal with the particular
interrupt. When the interrupt-handling routine is complete, the CPU’s original state is
restored, and control is returned to where the PC left off before the interrupt occurred.
A wide range of interrupts can attract the attention of a CPU, and interrupts can be
produced from three major sources: the CPU itself, a hardware condition, and a
software condition.
OF
NetPro Certification Courseware for NetPro Certified Systems Engineer – N.C.S.E

BIOS SERVICES
Interrupts produced by the CPU itself (known as processor interrupts) are often the
result of an unusual, unexpected, or erroneous program result. For example, if a
program tries to divide a number by zero, the CPU will generate INT 00h, which
causes a “Divide by zero” error message. There are five processor interrupts (00h to
04h). The hardware interrupts are generated when a device is in need of the CPU’s
attention to perform a certain task. Hardware interrupts are invoked by asserting a
logic level on a physical interrupt request (IRQ) line. The CPU suspends its activities
and executes the interrupt handling routine. When the interrupt handler is finished, the
CPU resumes normal operation. For example, each time a keyboard key is pressed,
the keyboard buffer asserts a logic line corresponding to INT 09h (IRQ 1). This
invokes a keyboard-handling routine. PC/AT-compatible systems typically provide 16
hardware interrupts (IRQ 0 to IRQ 15), which correspond to INT 08h to 0Fh and 70h
to 77h, respectively. Software interrupts are generated when a hardware device must
be checked or manipulated by the PC. The Print screen function is a prime example
of a software interrupt. When the Print screen button is pressed on the keyboard, an
INT 05h is generated. The interrupt routine dumps the contents of its video character
buffer to the printer port. BIOS Features PC technology is constantly advancing in
CPU’s, chipsets, memory, video, drives, etc. As the hardware continues to advance,
the BIOS must also advance to keep pace with the resources emerging on today’s
systems. As a result, it is important for you to recognize the key features that are
included in a modern BIOS. You do not need to understand the details of each feature
right now, but you should at least recognize”current” BIOS by reviewing its feature
set.

The core features of a modern BIOS can be broken down into several major
areas:

 CPU support BIOS should support a rich range of CPUs, preferably from
such CPU makers as Intel, AMD, and Cyrix. Look for Pentium, Pentium
MMX, Pentium Pro, and Pentium II support (although one BIOS will
probably not support all of these CPU families).
 Chipset support The BIOS should support the latest chipset families (such as
Intel’s 430TX chipset). Chipset support is crucial because it allows
motherboard designers to implement other features, such as USB and
advanced memory.
 Memory support The BIOS should be able to auto-size and support the most
modern forms of memory (i.e., EDO and SDRAM). Memory error checking
(parity and ECC) should also be supported.
 ACPI/APM support The BIOS should be fully compliant with the Advanced
Configuration and Power Interface (ACPI) specification (revision 1.0), and
supports APMBIOS specifications through version 1.2. Power management is
important for mobile systems, and is widely used in desktop/tower systems to
reduce energy waste.
NetPro Certification Courseware for NetPro Certified Systems Engineer – N.C.S.E

 Drive support The BIOS must support large EIDE/Ultra-ATA hard drives
(over 1024 cylinders) with very fast data-transfer modes, such as PIO Modes
0-4 and Ultra DMA/33.
 PC 97 support The BIOS should be compliant with the current Microsoft PC
97 BIOS requirements.
 I2O support The BIOS might support I2O (Intelligent I/O), which allows the
dynamic assignment of ports and resources for I/O devices in the PC.
 Boot versatility support The BIOS should be able to boot from a number of
different drives, and include the BIOS Boot Specification for Initial Program
Load (IPL) de-vices. This currently supports booting from up to four IDE
drives (including CD-ROM drives), SCSI drives, and network cards.
 Plug-and-Play support The BIOS must detect and configure PnP devices
during POST. The BIOS also communicates with Windows 95 to determine
system resources. Support of Microsoft’s AML permits compatibility with
PnP capability in future Windows operating systems (such as Windows
98/NT).
 PCI support The BIOS must support Intel’s Peripheral Component
Interconnect (PCI) bus specification (version 2.1), including PCI-to-PCI and
PCI-to-ISA bridging
 USB support The BIOS should support both Universal and Open HCI
standards. It should maintain full core compatibility and providing Legacy
support for USB hardware and multi-layered USB hubs.
A great deal of information is encoded into most BIOS ID strings that will help you
decode many of those cryptic ID codes.’

Older AMI BIOS AMI BIOS prior to the Hi-Flex line often used a “4/4/6” pattern of
BIOS information, such as:
ABBB CCCC DDEEFF GG
 A—BIOS options Particular options included with the BIOS: (D) diagnostics,
(S)
setup, (E) extended setup.
 BBB—Chipset or motherboard code A 3-character code used to identify the
corresponding chipset or motherboard.
 CCCC—Reference number A manufacturer’s license reference number.
 DD—BIOS Date Month
 EE—BIOS Date Day
 FF—BIOS Date Year
 GG—Keyboard-controller version number The BIOS and KBC must work
together properly. This number indicates the KBC version designed to work
with this BIOS.
TEM D
NetPro Certification Courseware for NetPro Certified Systems Engineer – N.C.S.E

ATA AND TROUBLESHOOTING


BIOS Shortcomings and Compatibility Issues

No matter how much time and effort are put into BIOS development, there are still
many times when BIOS can come up short. Before you start troubleshooting, you
should have an understanding of the places where BIOS is weakest.

DEVICE DRIVERS

As you might expect, no BIOS can possibly address every piece of hardware in the
PC marketplace or keep pace with the rapid advances of those devices that a BIOS
does support. As a result, PC designers have devised a way to augment BIOS through
the use of device drivers. Traditional CD-ROMs are an excellent example. A number
of CD-ROM designs are in use today—each CD-ROM and their corresponding
adapter board use their own (often proprietary) circuitry to operate the drive and
interface it to the PC bus. Neither the CD-ROM application, DOS, nor BIOS are
capable of identifying the drive or interface. To get around this, a low-level device
driver is loaded into conventional memory from disk once the PC initializes. The low-
level device driver translates a set of standard DOS calls into the instructions
necessary to operate the adapter and drive. An extension of DOS (MSCDEX for MS-
DOS-based systems) is also loaded into memory after the low-level driver. The DOS
extension works seamlessly with MSDOS.SYS to provide applications with a
standard set of software-interrupt CD-ROM services. Generally speaking, device
drivers all serve to supplement BIOS. Video, SCSI, and network adapters all make
use of device drivers at some level.
M DATA AND TROUBLESHOOTING
The newest BIOS versions do support bootable CD-ROM drives, which adhere to the
“El Torito” standard.

“FLASH” LAZINESS

The broad acceptance of “flash” memory allows BIOS to be reprogrammed “in


system,” through the use of a downloadable program. There is no need to open the PC
or exchange BIOS ICs. This offers BIOS makers a great deal of versatility in the
development of new BIOS, but it can also foster an attitude of laziness. Given the
astounding speed at which new developments are proliferating, BIOS makers are
under a great deal of pressure to create ever-more powerful and diverse BIOS. With
traditional BIOS, programmers needed to create solid, well-tested code because
replacing thousands of BIOS ICs in the field is an expensive and cumbersome task.
Now that BIOS can be quickly updated with relatively simple software, BIOS
programmers can sometimes take the “release-it-and-patch-it-later” attitude. As a rule,
BIOS code is still quite solid, but you should be aware that the potential for BIOS
problems and oversights are now much higher than in years past.
NetPro Certification Courseware for NetPro Certified Systems Engineer – N.C.S.E

BIOS SHADOWING

Another problem with BIOS ICs is their inherently slow speed. BIOS is typically
recorded onto “flash” ROM ICs (older BIOS used conventional ROM ICs or other
programmable ROM ICs). These devices are necessary because BIOS data must be
maintained even when power is removed. Unfortunately, permanent-storage ICs, such
as these, have hideously slow access times (150 ns to 200 ns), when compared to the
fast RAM used in today’s PCs (50 ns to 70 ns). When you consider that the services
stored in a BIOS ROM are used almost continuously, it is easy to see that each delay
is additive—the net result is an overall reduction in PC performance. To overcome
this limitation, it would be necessary to accelerate the access time of BIOS ROM.
However, this is not too likely, given the current state of semiconductor technology,
so PC designers do the next best thing: ROM shadowing. The process of “shadowing”
basically copies ROM contents from the BIOS IC into available RAM in the upper
memory area. Once the copy is complete, the system will work from the copy, rather
than the original. This allows BIOS routines to take advantage of faster RAM. Not
only system BIOS, but all BIOS can be shadowed. Video BIOS is particularly popular
for shadowing. ROM shadowing can typically be turned on or off through the CMOS
setup routine.

DIRECT CONTROL

In the race to wring every last clock-tick of performance from a PC, even the most
elegantly written BIOS is simply too slow for high-performance applications. If the
application could work with PC hardware directly, system performance (especially
disk and video sub-systems) could be substantially improved. Writing directly to
hardware is hardly new—pre-IBM PCs relied on direct application control. IBM to
ensure that variations in PC hardware would still remain compatible with operating
system included the use of BIOS. Not all BIOS can be successfully shadowed.
Shadowing problems can cause erratic system behavior and lockups. Whenever you
encounter problems configuring a system, you should always try stabilizing the
system by shutting down all shadowing options. You can restore shadowing options
later and observe if system problems returning system and application software. As it
turns out, today’s PC hardware functions are remarkably standardized (even though
the actual components can vary dramatically). With this broad base of relatively
standard features, software developers are reviving the direct-control approach and
ignoring the use of BIOS services in favor of routines written into the application. The
trouble with this approach is that direct hardware control might not work on all
system configurations, and any changes to the system hardware (i.e., upgrade or
replacement parts) might cause the PC to malfunction when the particular application
is executed.
NetPro Certification Courseware for NetPro Certified Systems Engineer – N.C.S.E

BIOS BUGS

As with all software-based products, BIOS code is subject to accidental errors or


omissions (software bugs). When BIOS is developed, it is replicated by the thousands
and purchased by motherboard manufacturers who incorporate the BIOS into their
motherboards. If a bug is present in the BIOS, the system will typically lock-up or
crash unexpectedly, or during a certain operation. Because the same BIOS might be
used in several motherboards, the bug might not manifest itself in all cases. As one
example, some users of AMI BIOS (dated 04/09/90 or earlier) reported problems with
the keyboard controller when running Windows or OS/2. As you can imagine, BIOS
bugs are particularly frustrating. If an application contains a bug, you can turn the
application off. Unfortunately, you cannot turn the BIOS off, so the only way to
correct a bug in BIOS is to update the BIOS IC, “flash” the BIOS with an updated
BIOS file, or replace the entire motherboard. The RTC is part of the CMOS RAM
chip that maintains the system BIOS settings, and is kept intact by a backup battery.
Some of the older RTC chips cannot keep track of the centuries by themselves, so a
byte is used in the CMOS to do the job instead. Also, the RTC timing components are
“trimmed” at the factory to a certain tolerance (typically, ±20 seconds a month),
which will only be adhered to if the desired operating environment is maintained (i.e.,
temperature and humidity). By contrast, the DOS device driver (CLOCK$) only
interrogates the RTC (via the BIOS) when the machine starts, then proceeds to ignore
it as long as the PC is running. The date supplied is converted to the number of days
since January 1, 1980 and the number of seconds since midnight of the current day.
The number of seconds since midnight is stored in the counter by the BIOS; when
DOS needs to read the clock, the BIOS is called to read the counter and the number of
ticks is converted back to seconds. If the counter goes past midnight, it is reset to zero
by the BIOS, and the first call after that is told that the day has advanced. As a result,
if more than 24 hours has elapsed between calls, there is no way that DOS can tell
which day it is. As DOS operates between 1980 and 2099, it can figure out that 00
equates to 2000 (although DOS might have problems if the RTC specifically hands it
a date of 1900 or any other incompatible date). In practice, the BIOS converts the date
as well—some correct the time automatically at boot and supply DOS with 2000
instead of a hardware date of 1900. However, other BIOS cannot produce a date later
than 1999 (i.e., Award BIOS 4.5G prior to November 1995 can only accept dates
between 1994 and 1999). Most new BIOS and RTC versions (released after 1996) are
designed to deal with the year 2000 properly. But you will need to test older systems
for rollover capability—especially as the year 2000 approaches.

Each time you start the PC, the Power-On Self Test (POST) initiates a comprehensive
series of tests to verify the computer’s hardware. Traditionally, the POST generates
two types or error messages: beep codes, and POSTcodes. Beep codes are generated
through the PC speaker before the video system has properly initialized. POSTcodes
are single-byte hexadecimal characters written to I/O port 80h (or other I/O port) as
each POSTtest is started. You can read the POSTcode using a POST reader card. By
matching the beep code or POSTcode to your particular BIOS, you can determine the
NetPro Certification Courseware for NetPro Certified Systems Engineer – N.C.S.E

exact fault for a comprehensive set of error codes. The problem with beep codes and
POSTcodes are their cryptic nature—you need a detailed code listing to match the
code to the fault. However, current generations of BIOS and operating systems are
starting to use more “user-friendly” error messages. By displaying complete error
messages (rather than simple codes), a great deal of guesswork is removed from the
troubleshooting process. Remember that BIOS error messages are designed to
enhance (rather than replace) beep and POSTcodes. Also notice that unlike beep
codes and POSTcodes, many BIOS error messages are not fatal—that is, the system
will continue to run after the error has been generated.

CMOS
With the introduction of their PC/AT computer, IBM abandoned the configuration
DIPswitches that had been used for the PC/XT. Rather than limit the system’s
configuration options, IBM chose to store the system’s setup parameters in a small,
low-power RAM IC called the CMOS RAM (in actuality, CMOS RAM is typically
combined on the same IC with the real-time clock, RTC). In effect, the discrete
switches of the XT were replaced with logical “switches” of each CMOS bit (after all,
a bit can be high or low, just as a switch can be on or off). When an AT-type
computer starts, its system attributes stored in the CMOS RAM—are read by the
BIOS. BIO then uses those attributes during normal system operation. As a result, it is
vitally important that the correct settings be used when configuring a system.
Otherwise, system problems could result.

In simplest terms, CMOS RAM is nothing more than some amount of very low-power
static RAM. Older CMOS RAM devices offered 64 bytes, and later implementations
provide an extra 64 bytes (128 bytes total). The latest motherboards use 256 bytes to
store the CMOS setup along with ESCD (Extended System Configuration Data)
information needed by the PC’s plug-and-play system. For the purposes of this book,
a 128-byte CMOS system is considered. Because RAM is lost when system power is
removed, a battery is added to the PC to continue to provide power to the CMOS
RAM (and RTC). This CMOS battery backup keeps the date, time, and system
parameters intact until you turn the system on again. Of course, if the battery should
fail, the system will lose its date, time, and all of its setup parameters. Many a tear has
been shed trying to reconstruct lost system parameters by trial and error.

THE CMOS MAP

To truly appreciate the importance of CMOS RAM, you should understand the
contents of a typical CMOS RAM IC, as shown in Table 9-1. You will find that a
standard 128-byte ISA-compatible CMOS is divided into four fairly distinct sections:
1. 16 bytes of real-time clock data (00h–0Fh),
2. 32 bytes of ISA configuration data (10h–2Fh),
3. 16 bytes of BIOS-specific configuration data (30h–3Fh)
4. 64 bytes of extended CMOS data (40h–7Fh).
NetPro Certification Courseware for NetPro Certified Systems Engineer – N.C.S.E

Additional CMOS RAM is typically used as the ESCD (and is inaccessible through
the typical CMOS setup).

CMOS RAM

CMOS stands for Complimentary Metal Oxide Semiconductor. In PC’s there is a


small amount of memory in a special CMOS RAM chip. The data is maintained with
electric power from a small battery.
CMOS is only a medium for storage. It could be used for any type of data. Here, it
holds important system data, values to be used during the start process. These
information take up maybe 100 or 200 bytes of data, and storage in the CMOS makes
them instantly available to the POST and BIOS programs (loaded from ROM) during
the start-up.
The values are regarding:
 Floppy and hard disk drives
 The keyboard
 The CPU, cache, chip set values, RAM type
 Date and time
 Much more ...
These data have to be set up correctly, and they are read during the start-up to make
the PC operable.

Two types of data

CMOS data can be divided in two groups:


 Data, which POST cannot find during the system test.
 Data, which contain user options.

For example, POST cannot by itself find sufficient information about the floppy
drive(s). Floppy drives are so "dumb," that POST cannot read whether they are floppy
drives or not, nor what type. About the same goes for IDE hard disks, while EIDE
hard disks are a little more "intelligent," However, POST still needs assistance to
identify them 100% correctly.
NetPro Certification Courseware for NetPro Certified Systems Engineer – N.C.S.E

The same goes for RAM: POST can count how much RAM is in the PC. However,
POST cannot always detect whether it is FPM, EDO or SD RAM. Since the CPU and
BIOS reads data from RAM chips differently, depending on the RAM type, the type
must be identified to setup the correct timing.

The configuration of CMOS data

The PC must be configured, be supplied with this information. That is done in the
factory or store, where it is assembled. This information is stored in CMOS, where
they stay. CMOS data only need to be updated, when different or additional hardware
components are installed. This could be a different type hard disk or floppy disks or
an new RAM type. Often the user can do this him/herself.
Other data in CMOS contain various user options. This is data, which you can write
to CMOS. For example, you can adjust date and time, which the PC then adjusts
every second. You can also choose between different system parameters. Maybe you
want a short system check instead of a long one. Or if you want the PC to try to boot
from hard disk C before trying floppy disk A, or vice versa. These options can be
written to CMOS.
Many of the options are of no interest to the ordinary user. These are options, which
regard controller chips on the motherboard, which can be configured in different
ways. Ordinarily, there is no need to make such changes. The motherboard
manufacturer has already selected the optimal configurations. They recommend in
their manuals, that you do not change these default settings.
Their special feature is, that they are user adjustable. Adjustments to CMOS are made
during start-up.
NetPro Certification Courseware for NetPro Certified Systems Engineer – N.C.S.E

OPENING THE SETUP PROGRAM

You communicate with the BIOS programs and the CMOS memory through the so-
called Setup program. This gives us a very simple user interface to configuring the PC
with these vital data.
Typically you reach the Setup program by pressing [Delete] immediately after you
power up the PC. That brings you to a choice of setup menus. You leave Setup by
pressing [Esc], and choose "Y" to restart the PC with the new settings. Generally, you
should not change these settings, unless you know precisely what you are doing.

USE OF THE SETUP PROGRAM

The Setup program can do many things for you. However, be careful. You should not
change any values within the menus, unless you know what you are doing. Otherwise
your PC may not function properly.

You have to enter Setup, if you install a different type or additional disk drive in your
PC. Certain BIOS will also need adjustment of its settings, if a CDROM drive is
installed on one of the EIDE channels.

THE STANDARD VALUES

The standard values in the CMOS Setup are used to configure:


 The date and time.
 The keyboard.
 The display.
 The diskette drive.
 EIDE units number 1-4 (typically hard disks and CD-ROM-drive).
NetPro Certification Courseware for NetPro Certified Systems Engineer – N.C.S.E

The values for date and time are stored in the CMOS RAM. You can always change
them, from Setup or from DOS, Windows or any other OS. The keyboard - obviously
it has to be there. But it is possible to configure the PC to work without a keyboard.
Otherwise the PC will error if the keyboard is missing. The display is always VGA.
From older times the Setup gives you options as EGA, CGA and MDA. You won't
need them! Diskette drive has to be selected. You can choose to have A: or B: or
both. Each drive can be of five types or more. You probably have the 1.44 MB floppy
drive. You choose among the options using [PgUp] and [PgDn]. Modern super
floppies like Zip and LS120 are not to be installed as diskette drives, they are EIDE
units. The hard disk is the most important unit to install in this part of the Setup. With
the modern motherboards and the EIDE drives you may experience an automatic
configuration during the Auto detect. In other situations you have to run the auto
detect yourself. With older drives, you have to enter all the CHS-values for the drive
(number of cylinders, heads and sectors.

THE BIOS FEATURE SETUP

The Feature Setup is the next layer in the CMOS setup. Here you can choose among
options like:
 Quick execution of POST (a good thing).
 Choice of boot device EIDE/SCSI. If you have both types of hard drives,
which one is to be booted?
 The boot sequence

MODIFYING THE BOOT SEQUENCE

You can change the boot sequence from A:, C: to C:, A:. That means, that the PC will
not try to boot from any diskette in the A drive. This will protect you from certain
virus attacks from the boot sector. Also, the boot process will not be blocked by any
diskette in the A drive. If you need to boot from A-drive (for example, if you want to
install Windows 98), you have to enter Setup again, and change the boot sequence to
A:, C:. etc.

POWER MANAGEMENT

You also use the Setup program to regulate the power management, which is the
power saving features in the motherboard. For example, you can make the CPU shut
down after one minute of no activity. There are plenty of settings available in this
area. The power management functions found on the PC’s motherboard will cooperate
with the operating system. Especially Windows 98 is very good at using the power
management.
NetPro Certification Courseware for NetPro Certified Systems Engineer – N.C.S.E

PASSWORD PROTECTION

You can protect the Setup program with a password. This is used widely in schools,
where the teachers do not want the little nerds to make changes in the setup. Please
remember the password (write it down in the motherboard manual). If you forget it
you have to remove the battery from the motherboard. Then all user input to the
CMOS is erased - including the password.

THE BIOS IN ADAPTER ROM

During the start-up process the BIOS programs are read from the ROM circuits. BIO
stands for Basic Input Output System and it is small program routines, which controls
specific hardware units. For instance you have a BIOS routine, which reads the
keyboard:
NetPro Certification Courseware for NetPro Certified Systems Engineer – N.C.S.E

The BIOS is a part of the modular design of the IBM Compatible PC. The OS and
other programs access the hardware units by making requests to the BIOS routines.
BIOS typically occupies 64 KB, and the programs are stored in ROM chips on the
motherboard.

THE BOOT PROCESS

The last step in the PC start-up is reading the operating system. The start-up program
is instructed to find the Master Boot Record. This is located in the very first sector on
either hard disk (C) or floppy drive A. From the MBR it reads the boot-strap which
points to the location of the startup files of the Operating

By default, the PC will look for a boot sector in floppy drive A. That is why the PC
"drops dead" if there is a different diskette in A drive. If there is no diskette in A
drive, the start-up program will search for the boot sector on hard drive C. When the
boot sector is found, a small program segment (boot-strap) is read from there. The
bootstrap then takes over control of the PC. The start-up program has done its job.
Now DOS, Windows or another operating system takes control.
Here is an illustration of the start-up process:
NetPro Certification Courseware for NetPro Certified Systems Engineer – N.C.S.E

THE BOOTSTRAP LOADER

The last part of the BIOS execution at start-up is the bootstrap loader. It is a tiny
program, which only has one task: to find the boot sector on a disk (hard disk, floppy
or another boot-drive).
The DOS Boot Record (DBR) also holds a media descriptor as well as information on
the OS version.

Disk Edit (included in the "Norton Utilities") to read view the contents of the boot
sector.

When the disk holds no boot strap routine, you get an error message like "Non-system
disk, replace with system disk and press any key".
The bootstrap loader is the last step in BIOS execution during start-up. It hands over
the control to the bootstrap routine found on the boot disk. The OS is being loaded.

S-ar putea să vă placă și