Powered By Blogger

Thursday, February 10, 2011

Expansion Buses, Cables, and Connectors

The success of the personal computer is due largely to its ability to expand to meet the changing needs and economic requirements of the user. In this chapter, we describe the array of expansion buses that help to expand the system and work with an ever-growing number of enhancements, including modems, video cards, and portable drives. We also discuss conflicts within the computer—how they are created and reconciled.
A competent technician has to know how to attach new devices to a computer. Knowledge of the different methods of doing so and the various cables used to link devices is critical in day-to-day operations. This chapter explores the various options and how to employ them properly and safely.

Understanding Expansion Buses

Expansion buses connect devices to the motherboard using the motherboard's data bus. They allow the flow of data between internal and external devices that make up the computer system. Early computers moved data between devices and the processor at about the same rate as the processor. As processor speeds increased, the movement of data through the bus became a bottleneck. Therefore, the design capability of the buses needed to evolve, too. This lesson discusses that evolution.

After this lesson, you will be able to
  • Identify the different types of expansion buses in a computer
  • Understand the difference between the system bus and the expansion bus
Estimated lesson time: 30 minutes

Development of the Expansion Bus

As discussed earlier in Chapter 4, "The Central Processing Unit," every device in the computer—random access memory (RAM), the keyboard, network interface card (NIC), sound card, and so forth—is connected to the external data bus. Expansion slots on the motherboard are standardized connections that allow the installation of devices not soldered to the motherboard. The function of an expansion slot is to provide configuration flexibility when devices are added to a computer.
Whether a device is soldered to the motherboard or connected through an expansion slot, all integrated circuits (ICs) are regulated by a quartz crystal. The crystal sets the timing for the system, giving all parts access to a common reference point for performing actions. Most central processing units (CPUs) divide the crystal speed by two. (If the CPU has a 33-MHz speed, a 66-MHz crystal is required.) Every device soldered to the motherboard—keyboard chip, memory controller chip, and so on—is designed to run at the speed (or at half the speed) of the system crystal.
Although CPU speeds have continually increased as technology has improved, the speeds of expansion cards has remained relatively constant. It was not practical to redesign and replace every expansion card each time a new processor was released—this would have been complicated and expensive for manufacturers. (And, of course, the additional expense would have been passed along to the consumer.) The commitment of the industry to maintain backward compatibility further complicated design tasks because any new technology would have to be compatible with the older, slower devices.
To resolve this dilemma, designers divided the external data bus into two parts:
  • System bus. This supports the CPU, RAM, and other motherboard components and runs at speeds that support the CPU.
  • Expansion bus. This supports any add-on devices by means of the expansion slots and runs at a steady rate, based on the specific bus design.
Dividing the bus enhances overall system efficiency. Because the CPU runs off the system clock, upgrading a CPU requires changing only the timing of the system bus, and the existing expansion cards continue to run as before. There is usually a jumper setting that changes the system clock speed to match the CPU. The ability of the motherboard to make this change sets the limit for the processor speed. Next, we take a look at the evolving types of expansion buses.

Industry Standard Architecture

The first-generation IBM XT (with the 8088 processor) had an 8-bit external data bus and ran at a speed of 4.77 MHz. These machines were sold with an 8-bit expansion bus (PC bus) that ran at 8.33 MHz (see Figure 8.1).

When IBM designed the first PC back in 1981, it took steps that fueled the rapid development of the PC market. IBM's engineers designed the PC as an open system, capable of using standard, off-the-shelf components. This allowed third-party developers to manufacture cards that could snap into the PC bus. IBM also allowed competitors to copy the PC bus.
With this decision, IBM established the Industry Standard Architecture (ISA) interface, thus generating the market for "clones." A host of third-party companies developed products that enhanced the basic PC design and kept prices much lower for add-ons than those for competing proprietary systems such as the Apple II. Without this push, the PC market would not have developed as rapidly as it did.
In 1984, when IBM released the AT (Advanced Technology) PC, featuring Intel's 80286 16-bit processor, it wanted to include a new expansion bus—one that would be compatible with previously released devices. To accomplish this, the designers added a bus that allowed insertion of either an 8-bit card or a 16-bit card. This change resulted in the standard 16-bit ISA slot. This new 16-bit bus officially ran at a top speed of 8.33 MHz, but on some Peripheral Component Interconnect (PCI)-based systems, the actual rate for ISA slots proved to be as high as about 10 MHz. (PCI is discussed later in this lesson.)
NOTE

The term "ISA" did not become official until 1990. Therefore, the 8-bit slot is called the XT, and the 16-bit slot is called the AT. When we refer to an ISA slot or an ISA card, we generally mean the 16-bit AT-style interface. The speed of the slots remained at about 7 MHz.

Problems with the ISA Design

The ISA design is one of the most enduring elements of the PC. It can be found on virtually all systems, from the second-generation IBM PC to machines built today. However, it suffers from two major shortcomings: lack of speed and compatibility problems stemming from card design.
As CPU performance increased and applications became more powerful, card designers sought an interface that would allow add-on cards to keep up with the need for improved hard drives, display adapters, and similar products.
Expansion cards must make use of system resources in an orderly way, so that they do not conflict with other devices. When demands for these system resources are not coordinated, the system could behave erratically or even fail to boot up. Formerly, ISA cards often used a bewildering array of jumpers and switches to set addresses for memory use or the IRQ (interrupt request) locations they would use.
The need to overcome the expansion card's lack of speed and compatibility problems led to a search for a new, standard expansion card interface—one that everyone could agree on and that would gain user acceptance.

Micro Channel Architecture

In 1986 the market came to be dominated by the new 386 machines with their 32-bit architecture. Most PC manufacturers stuck to the same basic ISA design and MS-DOS. Expansion devices based on ISA technology for the 286 AT class machines could be placed in a new 386 clone without problems.
IBM, however, was feeling the pinch of competition from cheaper clones, and sought to retain its dominance in the PC market. IBM designers produced a new version of the PC, the PS/2 (Personal System/2), and created a proprietary expansion bus called Micro Channel Architecture (MCA) as part of the design. Running at 10 MHz, it offered more performance and provided a 32-bit data path, but was also totally incompatible with older ISA cards.
A feature of MCA was its ability to "self-configure" devices. Unlike devices that use technology in which the PC configures itself automatically to work with peripherals such as monitors, modems, and printers, an MCA device always came with a configuration disk. When installing a new device in an MCA computer, the technician inserted the configuration disk (when prompted), and the IRQs, input/output (I/O) addresses, and direct memory access (DMA) channels were configured automatically. (IRQs, I/O addresses, and DMA channels are discussed in detail in the next lesson.) An MCA bus is shown in Figure 8.2.
The PS/2 and its Micro Channel Architecture expansion bus never gained enough market share to compete with the 386. MCA cards were few and far between, and more expensive than competing interface designs.
MCA is now a lost technology. As a computer technician, you will not encounter MCA on new computers. However, it is still found in some older machines, and you will need to know how to identify it. If (by some rare chance) a customer brings in a PS/2 machine for service, be sure to obtain the configuration disks for the computer as well as any MCA cards that go with it.

Extended ISA

In 1988 an industry group answered the challenge of MCA and released a new 32-bit, 8-MHz open standard called Extended ISA (EISA—pronounced ee-suh).
EISA is an improved variation of the ISA slot that accepts older ISA cards, with a two-step design that uses a shallow set of pins to attach to ISA cards and a deeper connection for attaching to EISA cards. In other words, ISA cards slip partway down into the socket; EISA cards seat farther down.
CAUTION

Be very careful to line up cards being placed in an EISA slot precisely and push straight down! If you try to angle the card in, it can be very difficult to seat and you might damage either the connector or the slot.
Although EISA is faster and cheaper than MCA, it never gained much more acceptance than MCA.
Confusion between MCA and EISA technology—along with a limited need for cards that ran at the faster rate and the fact that only a few display, drive controller, and network cards were made available—led to the early demise of both bus technologies. Figures 8.3 and 8.4 show how the slot design of the two technologies differs.
 
 

VESA Local Bus

The problems posed by MCA and EISA designs meant that developers needed an improved bus architecture to speed up graphics adapter performance and keep up with the evolving operating system technologies, such as Microsoft Windows. The Windows graphical user interface (GUI) required a much faster display adapter, because every pixel (not just lines of character data) had to be represented and refreshed. About the same time, laser printers and graphics programs like PageMaker and CorelDRAW entered the mainstream market, extending the desktop publishing revolution. The hardware industry developed the VESA local bus (VLB) to meet the need for a faster expansion interface. (VESA, the Video Electronics Standards Association, was the driving force behind the new bus technology.) Found only in 386 and 486 machines, the VLB had a short life span. The cards based on this design are connected directly to the system-bus side of the PC's external data bus (see Figure 8.5).

Figure 8.5 VESA local bus design
The speed of the system data bus is based on the clock rate of the motherboard's crystal. During the heyday of the VLB, this was usually 33 MHz, and VLB cards usually ran at half that rate, far outpacing the ISA bus. Some cards ran as fast as 50 MHz, using the full speed of the souped-up system bus. That often caused system crashes, because 50 MHz was outside the VLB specification.
The chip design for the VLB controller was relatively simple because many of the core instructions were hosted by the ISA circuits already on the motherboard, but the actual data passes were on the same local bus as the one used by the CPU.
The design specification provides two other performance-boosting features: burst mode and bus mastering. In burst mode, VLB devices gain complete control of the external data bus for up to four bus cycles, passing up to 16 bytes (128 bits) of data in a single burst. Bus mastering allows the VLB controller to arbitrate data transfers between the external data bus and up to three VLB devices without assistance from the CPU. This limit of three devices also limited the maximum number of VLB slots to three and called for the use of a coprocessor. Display-system design is covered in more detail in Chapter 11, "The Display System."
The actual connectors on the motherboard resemble an ISA slot with an additional short slot aligned with it. On systems that support this interface, one to three slots are located on the side of the motherboard closest to the keyboard connection.

Peripheral Component Interconnect

PCI allows developers to design cards that will work in any PCI-compatible machine. It overcomes the limitations of ISA, EISA, MCA, and VLB, and it offers the performance needed for today's fast systems.
At first glance, there are many similarities between PCI and the older VLB specifications. Both are local bus systems with 32-bit data paths and burst modes. Also, the original PCI design operates at 33 MHz—roughly the same speed as the VLB. However, the important differences between them allowed PCI to dominate in expansion bus technology. These differences stem from the following features:
  • The PCI design's special bus and chip set are designed for advanced bus-mastering techniques and full arbitration of the PCI local bus. This allows support of more than three slots.
  • The PCI bus has its own set of four interrupts, which are mapped to regular IRQs on the system. If a PC has more than four PCI slots, some will be sharing interrupts and IRQs.
NOTE

Under Windows 95 or with poorly designed PCI cards (both are becoming rarities), the shared addresses could lead to system conflicts and resource problems. Installing PCI cards one at a time minimizes these problems. Also, be aware that on many systems not all PCI slots offer full bus mastering. Check the owner's manual for details, especially on machines with more than four slots. In general, the PCI slots closest to the keyboard connector are the best choices for full bus mastering.
  • The PCI bus allows multiple bus-mastering devices. Advanced controllers such as SCSI (Small Computer System Interface) cards can incorporate their own internal bus mastering and directly control attached devices, then arbitrate with the PCI bus for data transfers across the system bus.
  • Autoconfiguration lets the PC's BIOS assign the IRQ linking the card to the system bus. Most PCI cards have no switches or jumpers to set, speeding installation and preventing many hardware conflicts.
Most PCs on the market today have one or more ISA slots for backward compatibility; however, most expansion cards are now built using the PCI interface. Although Intel was the original driving force behind PCI development, a PCI standards committee maintains the specification, and it is an open design—meaning that anyone can design hardware using PCI without being required to pay royalties.

Variations on a Theme: Differences in PCI Versions

The earlier discussion makes PCI sound like a technician's dream interface: fast, reliable, and doing most of the work itself. In most cases, that's true; still, there is always a "but." PCI has gone through many changes, and there are some features to be aware of when you work with a PCI card:
  • The early PCI motherboards often have jumpers and BIOS settings that must be set to enable proper PCI operation. These are most often found on Pentium 60-MHz and 66-MHz machines.
  • The PCI bus speed is not fixed. Newer chip sets can drive it—and the cards on it—at 66 MHz. At full performance, the PCI bus can deliver data transfers at up to 132 MB per second.
  • PCI is not used only by PCs. Macintosh and some other non-PC-style computers incorporate PCI. Manufacturers appreciate this feature because it allows them to design core technology and port it to different models using the same production line. You still need to be certain, however, that a particular card is actually designed for the machine you are working on, even if it fits.
Keep in mind that PCI is evolving. That will help to keep it a viable interface for the foreseeable future, but it might also lead to incompatibilities between new cards and older machines.

Accelerated Graphics Port

In the early days of PCI, the major market for that technology was the high-performance display adapter. The popularity of PCI led to its dominance of the expansion bus market. Today, the PCI market includes NICs, sound cards, SCSI adapters, Ultra Direct Memory Access (UDMA) controllers, and DVD (digital video disc) interfaces. The variety of devices posed a problem for display-card designers: Having more cards on a single bus slowed down the performance, just when the increasing popularity of 24-bit graphics and 3D rendering called for greater demands on the display system. The search was on for yet another interface; this time, the solution was a single slot—tuned for the display adapter. Once again, Intel led the way and developed the Accelerated Graphics Port (AGP).
The AGP removes all the display data traffic from the PCI bus and gives that traffic its own 525-MB-per-second pipe into the system's chip set and, from there, straight to the CPU. It also provides a direct path to the system memory for handling graphics. This procedure is referred to as Direct Memory Execute (DIME). The AGP data path is shown in Figure 8.6.
 
The AGP slot, if present, is the only one of its kind on the motherboard and is usually the slot closest to the keyboard connector (see Figure 8.7). It is set farther from the back of the PC's case than the PCI slots. AGP connectors are found only on Pentium II-based and later computers or on similar CPUs from non-Intel vendors.

IEEE 1394 FireWire High-Performance Serial Interface

One contender that has been touted as a possible replacement for SCSI (see Chapter 9, "Basic Disk Drives," for details on the SCSI interface) in connecting external peripherals is IEEE 1394, known also by its Apple trade name of FireWire. We'll use the short form and call it 1394. This high-speed serial interface allows up to 62 devices on a chain, at data transfer rates of up to 50 MB per second.
This new interface offers several advantages: a hot swap capability (the ability to add and remove components while the machine is running), small and inexpensive connectors, and a simple cable design. Right now, few devices support 1394, but it is seen as a viable method for connecting multimedia devices like camcorders and other consumer electronic devices to PCs. Its isochronous transfer method (sending data at a constant rate) makes it a natural for video products. Currently, many 1394 PC products are expensive and there is no provision for connecting internal devices. Both 1394 and SCSI will coexist much like SCSI and universal serial bus (USB) for the foreseeable future. (USB is discussed in the next section.)
Although there are some standards defining how connections are made with 1394, several vendors are offering custom ways of linking products.

Universal Serial Bus

The newest addition to the general PC bus collection, the USB connects external peripherals such as mouse devices, printers, modems, keyboards, joysticks, scanners, and digital cameras to the computer. The USB port is a thin slot; most new motherboards offer two, located near the keyboard. They can also be provided through an expansion card.
USB supports isochronous (time-dependent) and asynchronous (intermittent) data transfers. Isochronous connections transfer data at a guaranteed fixed rate of delivery. This is required for more demanding multimedia applications and devices. Asynchronous data can be transferred whenever there is no isochronous traffic on the bus. USB supports the following data transfer rates, depending on the amount of bus bandwidth a peripheral device requires:
  • 1.5 megabits per second (Mbps) asynchronous transfer rate for devices, such as a mouse or keyboard, that do not require a large amount of bandwidth.
  • 12 Mbps isochronous transfer rate for high-bandwidth devices such as modems, speakers, scanners, and monitors. The guaranteed data-delivery rate provided by isochronous data transfer is required to support the demand of multimedia applications and devices.
USB devices can be attached with the computer running. A new device will usually be recognized by the operating system (assuming the operating system has Plug and Play capability), and the user will be prompted for drivers, if required. Bear in mind that USB is a new standard, and some early USB ports and chip sets do not properly support some newer devices. Problems with embedded USB ports are not generally worth repairing. It is usually better to install a new USB interface card.
Attaching a new USB device is usually little more complicated than hooking up the appropriate cables and loading a driver disk if requested (see Figure 8.8). Keep in mind that older products may not be adequately supported, and that some devices will require an external power supply.
 

Lesson Summary

The following points summarize the main elements of this lesson:
  • Expansion buses provide a way of connecting devices to the motherboard.
  • ISA could accommodate both 8-bit and 16-bit expansion cards.
  • MCA was a proprietary architecture for IBM's PS/2 computers.
  • EISA 32-bit architecture could accommodate older ISA expansion cards.
  • VLB architecture employed burst mode and bus mastering to boost performance.
  • PCI architecture makes use of autoconfiguration to let the PC's BIOS assign the IRQ linking the card to the system bus.
  • AGP architecture removes display data traffic from the PCI bus.
  • USB architecture supports both isochronous (time-dependent) and asynchronous (intermittent) data transfers.
  • IEEE 1394 is mostly used for multimedia applications on desktop computers.
  • Expansion buses have changed to keep up with increases in processor speed.
  • A computer technician must know how to identify the various expansion buses (ISA, MCA, EISA, PCI, AGP, and USB) to ensure compatibility and know how to maximize performance when upgrading a computer.

Tuesday, February 8, 2011

ROM BIOS

  

In addition to the chip set, you will find other chips called ROM BIOS. A ROM BIOS chip contains data that specifies the characteristics of hardware devices, such as memory and hard disk and floppy disk drives, so the system can properly access them. This lesson explores ROM BIOS and what it does.

After this lesson, you will be able to
  • Identify the different types of ROM
  • Modify the CMOS settings in a computer
  • Identify POST codes and take appropriate corrective action when a problem is identified

ROM BIOS

ROM (read-only memory) is a type of memory that stores data even when the main computer power is off. This is necessary so that the system can access the data it needs to start up. When stored in ROM, information that is required to start and run the computer cannot be lost or changed. The BIOS (basic input/ output system) is software in the form of programs stored on ROM chips. The system BIOS is a ROM chip on the motherboard used by the computer during the startup routine (boot process) to check out the system and prepare to run the hardware. The BIOS is stored on a ROM chip because ROM retains information even when no power is being supplied to the computer. The downside of storing data in an older computer's ROM is that a chip may have to be changed to update information.
More recent systems use a technology called flash ROM or flash BIOS that allows code in the core chips to be updated by software available through the BIOS or motherboard supplier. Check the Internet site of the supplier if you suspect your ROM chip has flash ROM technology; the software and instructions are generally downloadable.
CAUTION

Upgrade a BIOS only when necessary! Be sure to follow all precautions included with the motherboard manual and instructions for the upgrade. Improper installation can render the motherboard useless.
BIOS (also referred to as firmware) can be subdivided into three classes, depending on the type of hardware it controls.
  • The first class, called core chips, includes support for hardware that is common to all computers, is necessary, and never changes.
  • The second class, called updateable chips, encompasses hardware that is also common and necessary, but that might change from time to time.
  • The third class of chips includes anything that is not included in one of the first two classes.

Core Chips

Look on any motherboard: ROM chips for the core chips are found everywhere. They are often distinctive because they are in DIP (dual in-line package) form and are almost always labeled. These chips are commonly used for the keyboard, parallel ports, serial ports, speakers, and other support devices. Each ROM chip contains between 16 and 64 KB of programming. If the functions have been combined, it may be harder to determine the chip's purpose by appearance.

Updateable Chips

Several devices on a computer often contain their own flash BIOS or updateable ROMs including SCSI controllers and video cards. Because this information is subject to change (for instance, you can upgrade a hard disk drive or change a video card), it is stored on a special chip called the complementary metal-oxide semiconductor (CMOS). This chip gets its name from the way it is manufactured and what it is made from, not from the information it holds.
Unlike other ROM chips, CMOS chips do not store programs, but instead store data that actually configures the features of the motherboard. For example, it notes the number of floppy drives, the type(s) of hard drives, and if power-saving options or administrator passwords are active. The CMOS chip also maintains date and time information when power to the computer is off.
CMOS chips can store about 64 KB of data. However, storage of the data needed to boot a computer requires only a very small amount of memory (about 128 bytes).
If the data stored on the CMOS is different from the hardware it keeps track of, the computer, or part of it, will probably not work. For example, if the hard disk drive information is incorrect, the computer can be booted from a floppy disk, but the hard disk drive might not be accessible. The technician or owner will have to reset the CMOS values before the computer can use the device if it is not properly defined in the CMOS registry.
The information contained in a CMOS chip will depend on the manufacturer. Typically, the CMOS contains at least the following information:
  • Floppy disk and hard disk drive types
  • CPU
  • RAM size
  • Date and time
  • Serial and parallel port information
  • Plug and Play information
  • Power-saving settings
IMPORTANT

It is critical that the core information on a CMOS chip be correct. If you change any of the related hardware, the CMOS must be updated to reflect those changes. If the CMOS loses power from its battery, it will lose its data. The next time the system is started, the setup program will revert to its default settings. It is a good idea to write down the primary system settings (like hard drive parameters) and tape them inside the case for reference.

Updating CMOS

To make changes to a CMOS chip, you need to run a CMOS setup program. This application is independent of the operating system, because it must work even if an operating system is not loaded, or even if there is no form of disk drive. The way to start this program depends on the manufacturer of the BIOS, not the manufacturer of the computer. Manufacturers of motherboards purchase the BIOS from other companies, most of which specialize in making these chips. Many different computer suppliers use the same BIOS. The BIOS manufacturer and version number are the first things you see displayed when you boot up your computer. Figure 6.3 shows examples of startup information for three different types of BIOS chips.
Although several companies write BIOS code and sell it to computer makers, three companies—American Megatrends (AMI), Phoenix, and Award—dominate the BIOS market. Motherboard vendors might use one supplier for a series of products; however, it is not uncommon for a manufacturer to change sources within a series due to design or cost considerations. A good technician should be familiar with the basic CMOS setup procedures for BIOS manufactured by all three.
Because of its flexibility, the Hi-Flex BIOS, manufactured by AMI, has taken a large share of the computer market. Motherboard manufacturers can purchase a basic BIOS from AMI and then add setup parameters to meet the needs of their products. For this reason, the number of setup parameters available on one computer can differ from those on another computer, even though they use the same motherboard. Award competes directly with AMI, providing very flexible BIOS chips. Award was the first BIOS to heavily support Peripheral Component Interconnect (PCI) motherboards.
Phoenix is considered a manufacturer of high-end BIOS. Phoenix creates individual BIOS chips for specific machines. As a result, Phoenix BIOS chips have fewer setup parameters available. These chips are commonly used in machines with proprietary motherboards, such as laptops. Vendors can tune the BIOS for performance, basing new code on the Phoenix core. Keep in mind that Phoenix also makes parts that are sold and employed without custom code.
There are several ways to determine who the BIOS manufacturer is:
  • Watch the monitor when the computer boots. A BIOS screen will usually be displayed, indicating the manufacturer and version number. (This screen might not be visible if the computer is warm booted. In that case, power off the unit and restart.)
  • Check the computer or motherboard manual. Most include a section on entering the setup program and setting options.
  • Remove the cover of the computer and look at the chip. Most BIOS chips have a manufacturer's label.
  • Try a good third-party utility program. These products are available at almost any software store. A Web search for a key phrase such as "BIOS diagnostic" will yield the names of a number of them.
  • Reboot the computer and hold down several keys at once or unplug a drive. This will often cause an error and prompt you to get into the setup program. Unplugging the keyboard will accomplish the same goal with less work; however, you won't be able to make adjustments on most systems with the keyboard inoperative.

A Typical CMOS Setup

Every CMOS setup program looks slightly different. Do not be too concerned about the differences—all BIOS routines contain basically the same information. Take your time and get comfortable navigating in the setup programs. Most of the CMOS setup programs are text-based, so you will have to use keystrokes to navigate through the information. However, some newer machines use a Windows-like CMOS setup (they have the look of a Windows environment and will let you use a mouse to select changes).

The Most Common Ways to Access BIOS Setup Programs

  • For AMI, press Delete when the machine first begins to boot.
  • For Phoenix, press Ctrl+Alt+Esc, Del, or F2 when requested.
  • For Award, you can usually follow either of the other two procedures.
Motherboard makers can change the key combinations to access the CMOS setup. This can be especially true for brand-name computers, and manufacturers are not likely to publish the information on the startup screen.
TIP

If all else fails, try any of these key combinations: Ctrl+Alt+Insert, Ctrl+A, Ctrl+S, Ctrl+F1, F2, and F10.
Let's look at some typical screens from a Phoenix BIOS setup program. They are good examples of how typical CMOS settings are presented and adjusted.
Figure 6.4 shows the first screen of this CMOS setup. From this point, you can select alternate tabs (Advanced, Security, Power) or adjust any of these individual items: floppy disk drive, hard disk drive, date and time, or RAM settings.
The hard disk drive setup screen (Figure 6.5) is where individual hard drive parameters are set. Today, most hard drives based on IDE (Integrated Device Electronics) can be automatically detected by the BIOS. The CMOS settings are then made by the BIOS automatically. However, you should still know how to do this manually, both to be able to work with an older machine and in case the setup program fails to recognize the drive.
The Advanced tab (Figure 6.6) leads to more advanced setup parameters. A great deal of customization can be achieved using these settings. Pay careful attention to any warnings that come up before you make any changes to device settings. If you don't understand a setting, it is best to leave the default option.
The Security tab allows you to set security parameters. Be careful: Once you set a password, you have to remember that password to change the security parameters. If you encounter a situation in which an owner has set and forgotten a password, you will have to flush and reset the CMOS to the factory default settings. Check the motherboard manual for information on how to do this. It usually involves changing jumper settings twice.

Notice in Figure 6.7 that the virus check reminder option is disabled. If you find a CMOS virus checker enabled, turn it off. This is especially important during operating system and program installation. If you are certain that no virus software is on the computer, yet you continue to get error messages warning you to turn off all anti-virus software, the CMOS virus checker is the most likely source of these erroneous messages. If you find this happening, disable the CMOS virus checker. Of course, if you still get the message, you should check for a real virus. Figure 6.7 shows the Security tab.
TIP

These built-in CMOS virus checkers actually do very little to protect your system. For the best possible protection against viruses, be sure to install a good anti-virus program designed for the operating system on the computer and suggest that the customer run and update it regularly.
The Power tab, shown in Figure 6.8, allows the user to set up any power conservation options provided by the manufacturer. These features typically include setting a time limit for reducing power to the monitor and hard disk drive.
Click to view at full size

Maintaining CMOS

Losing CMOS information is, unfortunately, a common problem. If the information on the CMOS chips is erased or corrupted, the computer will not be able to boot or you will get nasty-looking errors. Some of the more common reasons that CMOS data is lost include the following:
  • The on-board battery has run out.
  • Cards have been removed or inserted in a way that releases electrostatic discharge (ESD).
  • Improper handling of the motherboard has caused electrical short circuits or failure due to ESD.
  • Something has been dropped on the motherboard.
  • There is dirt on the motherboard.
  • The power supply is faulty.
  • There have been electrical surges.
The following types of errors indicate lost or corrupt CMOS data:
  • CMOS configuration mismatch
  • CMOS date/time not set
  • No boot device available
  • CMOS battery state low
  • Cannot locate hard disk drive or floppy disk drive
It is wise to back up the CMOS setup just as you back up important data. One way to do this is to write down the information (especially before making hardware changes). There are many third-party CMOS save-and-restore utility programs available.
NOTE

Many newer machines that run versions of Windows 95 and later and that offer Plug and Play place less emphasis on the CMOS. The BIOS information is stored with the device and is automatically detected at boot.

The CMOS Battery

The CMOS chip requires a small trickle voltage from a battery to keep its memory alive. When the battery gets low or dies, the computer will experience a sudden memory loss and thus lose settings. It might not be able to find the floppy disk or first hard disk drive and therefore display an error indicating that it cannot find the system or nonsystem disk.
The voltage of CMOS batteries ranges from 3 to 6 volts. Check the motherboard or the motherboard documentation to determine the actual battery requirements. Batteries come as either on-board (NiCad batteries, soldered in place or in a fixture, that last from five to seven years) or external (nonrechargeable AA alkaline batteries that last from two to four years). The 3-volt lithium watch battery is becoming very popular with motherboard suppliers. Many of these are mounted in a special holder so that the battery can be easily changed; however, some manufacturers solder them in place.
The first clue that the battery is weakening is that the CMOS clock begins to slow down. Exit to DOS and, when you see the C prompt (C:), type time. If you notice the clock is slow, it's probably time to change the battery.
NOTE

Remember that an MS-DOS machine (as well as those running Windows 95 and later) uses the CMOS clock to get the date and time at startup. After the computer is running, MS-DOS uses the memory refresh timer on the memory controller to keep time. This works well, but because the refresh timer is not very accurate about seconds, you will lose one or two seconds per day. If you never turn off a computer, it could lose time. Do not confuse this with a bad battery. When you reboot, the computer will update itself to the correct time from the CMOS. If the CMOS battery is low, it will still show the incorrect time.
When the CMOS battery dies completely, you will get lost CMOS errors, as previously described. If you reload the CMOS data and the errors return, it's time to change the battery. Although the computer will hold CMOS information during the week, sometimes, over the weekend—when the computer is turned off for two days—the CMOS data will be lost. Do not let these seemingly "intermittent" problems fool you. Sometimes, before a battery dies, but after it has started to fail, it will still be able to hold CMOS settings for a short time after the computer is off. Any time a computer loses the CMOS information more than once in a week, it's a sure sign that you need to replace the battery immediately—if only to eliminate the battery as the source of the problem. After replacing the battery, you must run the setup utility and restore any CMOS settings.
NOTE

The CMOS chip contains a capacitor that allows replacement of the battery without losing data. For motherboards with soldered on-board batteries, there is usually a connection that allows you to add an external battery to replace a worn-out internal one. Be sure that the external battery has the same voltage as the on-board battery you are replacing. Some older PCs use a battery pack with four AA cells or a single 9-volt battery. These should be replaced with a special PC battery pack to provide longer life.
The best source of information about replacing a CMOS battery is the documentation that comes with the motherboard.
Today's computers are becoming less reliant on battery backup for CMOS. With Windows Plug and Play technology, devices come with their own BIOS, which the system reads each time the computer is booted. This does not eliminate the need for CMOS or batteries, but it minimizes the impact of a battery failure. At the very least, you will still need to retain the date and time information.

All Other Chips

It would be impossible to put all the necessary BIOS information for every conceivable piece of hardware on one chip. It would also be impractical, as new devices are released almost monthly. Upgrading a machine would require a new BIOS chip (or a new version of the flash BIOS) every time. Fortunately, there are other ways to handle this challenge.

ROM Chips with BIOS

BIOS can be put on the hardware device itself. Many new add-on boards, such as display adapters, network interface cards, and sound cards, have their own on-board ROM chip. Because the system BIOS doesn't have a clue about how to communicate with the new device, this card includes its own BIOS.

Loading Device Drivers

Using device drivers is the most popular way to provide BIOS support for hardware. A device driver is a program that acts as an interface between the operating system and the control circuits that operate the device. For example, Windows has "generic" code that opens a file, but the driver for the disk drive takes care of low-level tasks like positioning the read head, reading or writing blocks of data, and so on. Thus, applications programmers don't usually have to worry about these details and can assume that any hardware supported by a device driver will work.
Just how a device driver is invoked depends on the operating system, the hardware, and the software design. Although few devices still use the CONFIG.SYS file to load drivers, it provides an easy way to see how they work.
Every time the computer is booted up, the CONFIG.SYS file is read and the device drivers are loaded from the hard disk drive into RAM.
Some examples of device drivers in CONFIG.SYS are:
DEVICE=C:\DOS\HIMEM.SYS 
DEVICE=C:\DOS\EMM386.EXE NOEMS 
DEVICEHIGH =C:\SCSI\ASPIPP3.SYS /D /Z 
DEVICEHIGH =C:\DOS\DRVSPACE.SYS 
DEVICEHIGH =C:\CDROM\MTMCDAI.SYS /L=001
Loading device drivers in CONFIG.SYS is a requirement for machines running MS-DOS. The Windows 95, Windows 98, Windows Me, and Windows 2000 operating systems have their own drivers that are loaded as part of startup. (Drivers are covered in more detail in the appropriate operating system chapters later in this book.) Occasionally, drivers become outdated or have problems. You can obtain new drivers directly from the device manufacturers (often directly from their Web sites).
NOTE

Even hardware that installs without a setup disk can be changing the registry if it is a Plug and Play device that is recognized by the operating system. Erratic problems can occur if a device is improperly identified. Under Windows 95, Windows 98, Windows Me, or Windows 2000, check the System section of the Control Panel to identify possible conflicts.

Power-On Self Test

Every time a PC is turned on or reset using the Reset button or Windows Restart command, the computer is rebooted and reset to its basic operating condition. The system BIOS program starts by invoking a special program (stored on a ROM chip) called the power-on self test (POST). The POST sends out standardized commands that check every primary device (in more technical terms, it runs an internal self-diagnostic routine).
The POST has two stages:
  • Test 1 occurs before and during the test of the video.
  • Test 2 occurs after the video has been tested.
This division determines whether the computer will display errors by beeping or showing them on the screen. The POST does not assume the video works until it has been tested. The POST does assume that the speaker always works, but to let you know that the speaker is working, all computers beep on startup. Depending on the BIOS type, the POST might also sound a single beep when it's done to let you know the boot process was successful. If something goes wrong, the POST sends a series of beep codes to let you know what the problem is or where to start looking for it.

Beep Codes Before and During the Video Test

The purpose of the first POST test is to check the most basic components. The exact order, number of tests, and error states will vary from product to product. In a healthy system, the POST reports by using a series of beep codes and screen messages to convey that all components are working. Then it transfers control to the boot drive, which loads the operating system. The POST is a good indication that the hardware is in working order.
If a problem occurs, the POST routine attempts to report the problem. This is also done using beep codes and (if possible) screen prompts. Some error codes are specific to chip sets or custom products, and the exact message and meaning can vary from system to system. (See the POST code references in the system manual that shipped with the PC or the motherboard to obtain references for detailed error messages and beeps.) The following table lists the basic beep codes for AMI and Phoenix BIOSs.
Number of Beeps
Possible Problem
1
DRAM refresh failure
2
Parity circuit failure
3
Base 64 KB or CMOS RAM failure
4
System timer
5
Processor failure
6
Keyboard controller or Gate A20 error
7
Virtual mode exception error
8
Display monitor write/read test failure
9
ROM BIOS checksum error
10
CMOS RAM shutdown register failure
1 long, 3 short
Conventional/extended memory test failure
1 long, 8 short
Display test and display vertical and horizontal retrace test failure

Troubleshooting After a Beep

After a beep code has been recognized, there are a few things you can do to troubleshoot the error. The following table suggests some solutions. Keep in mind that, in many cases, it can be less expensive to replace the motherboard than to replace a chip.
Problem
Solution
RAM refresh failure
Reseat and clean the RAM chips.
Parity error
RAM bit error
Base 64-KB error
Replace individual memory chips until the problem is corrected.
8042 error (keyboard chip)
Reseat and clean keyboard chip.
Gate A20 error
Check operating system. Replace keyboard. Replace motherboard.
BIOS checksum error
Reseat ROM chip. Replace BIOS chip.
Video errors
Reseat video card. Replace video card.
Cache memory error
Reseat and clean cache chips. Verify cache jumper settings are correct. Replace cache chips.
Any other problems
Reseat expansion cards. Clean motherboard. Replace motherboard.
NOTE

Many computers will generate beep codes when the only problem is a bad power supply! Turn the computer off and on three or four times to see if the same beep code is generated every time. If so, it's probably a legitimate beep code that concerns the hardware and not the power supply.
Since early 1996, some BIOS programs have eliminated many beep codes. However, identifying beep codes can still be part of the A+ Certification exam.

Error Messages—After the Video Test

After successfully testing the video, the POST will display any error messages on the screen. These errors are displayed in one of two ways: numeric error codes or text error messages.

Numeric Error Codes

When a computer generates a numeric error code, the machine locks up and the error code appears in the upper-left corner of the screen. The following table lists some common numeric error codes, but it is a good idea to check the manual before beginning repairs based on a beep code or error message.
Error Code
Problem
301
The keyboard is broken or not plugged in.
1701
The hard disk drive controller is bad.
7301
The floppy disk drive controller is bad.
161
The battery is dead.
1101
The serial card is bad.

Text Error Codes

BIOS manufacturers have stopped using numeric error codes and have replaced them with about 30 text messages. Instead of numbers, you get text that is usually, but not always, self-explanatory.

How Bad Is It?

There are two levels of error codes during POST: fatal and nonfatal. As the name implies, fatal errors will halt the system without attempting to load the operating system. Memory problems or a faulty disk or display adapter are examples of fatal errors. Nonfatal errors like a "missing" floppy disk drive will still result in the system attempting to load the operating system (and often succeeding).
In most cases, the POST procedure does a good job of testing components. If it gives a clean bill of health to the hardware, failure to boot will often lie in the operating system. You can use a bootable floppy disk in most cases to access the hard disk drive, or boot Windows using the Safe Start approach (press the F8 key just after the POST completes) and check for conflicting settings.

POST Cards

More difficult to resolve is a hardware problem that keeps the POST from issuing any report at all. When you face this type of situation, you will find that this is where a POST card earns its keep. These special diagnostic expansion cards monitor the POST process and display all codes (usually in two-digit hexadecimal format) as the system runs the POST. The technician can then decode this information using the manufacturer's manual. More advanced models can also run advanced series of tests to isolate erratic problems.
When choosing a POST card, be sure that it will work with the types of machines you plan to test. Most are based on the Industry Standard Architecture (ISA) slot and work with most Intel CPUs. That means they should help with AT (80286 processors) and later-based PCs that use x86 processors. Basic models give only POST codes. More advanced models also can check direct memory access (DMA), IRQ (interrupt request), and port functions. Some come with fancy diagnostic software. The more features, the higher the price tag. However, a POST card will save a lot of time and frustration, making it a worthwhile addition to any PC toolkit.

Lesson Summary

The following points summarize the main elements of this lesson:
  • Understanding ROM BIOS is key to keeping a computer up and running.
  • CMOS setup defines the data a computer needs to communicate with its hardware (such as its drives).
  • The CMOS battery maintains BIOS data when computer power is turned off.
  • A POST card can quickly pay for itself by helping to isolate problems when the POST routine fails to provide a report.