Click & Learn. Module 2a.2

The system software on the motherboard

The contents:

  • The Setup program
  • The POST
  • The CMOS RAM
  • Opening the Setup program

  • Next page
  • Previous page

    Articles written
    by Michael B. Karbo

  • The Setup programs

    There are three elements in the start-up part of the ROM chip:

  • The Initializing routine, which sets up the BIOS functions. The adapter ROM is integrated. A table covering all the BIOS programs is constructed. This is often called the interrupt vectors.
  • The POST (the test programs)
  • The disk bootstrap loader, which calls upon the operating system.
  • These programs are stored in the ROM chip, and they are activated one by one during the PC start-up.

    The POST

    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.

    You may follow the checks being executed in this order, as the information are gathered:

    1) Information about the graphics adapter
    2) Information about the BIOS (name, version)
    3) Information about the RAM (being counted)
    As users, we have only limited ability to manipulate the POST instructions. But certain system boards enable the user to order a quick system check. Some enable the user to disable the RAM test, thereby shortening the duration of the POST. The duration of the POST can vary considerably in different PCs. On the IBM PC 300 computer, it is very slow. But you can disrupt it by pressing [Esc].

    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. This is discussed in the following chapter.

    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 bootsector 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. Please read module 6a4 on this issue. You can use DiskEdit (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.


    CMOS stands for Complementary Metal Oxide Semiconductor. In PCs 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.

    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.

    We can conclude, that CMOS data are essential system data, which are vital for operation of the PC. Their special feature is, that they are user adjustable. Adjustments to CMOS are made during start-up.

    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.

    Here you see the start menu of the American Megatrends BIOS Setup program, which has a kind of graphical user interface. You are supposed to use the mouse:

  • Next page
  • Previous page

    Learn more

    Read more about the boot process and system bus in Module 2b

    Read more about I/O buses in module 2c

    Read more about the motherboard chip set in module 2d

    Read more about RAM in module 2e

    Read about EIDE in module 5b

    I also recommend two books for further studies. Gunnar Forst: "PC Principals", from MIT is excellent. Also "The Winn L. Rosch Hardware Bible" from Brady covers the same subjects. Also "PC Intern" from Abacus is fine.

    Links to BIOS information:

    BIOS Guide


    [Main page]
    [Karbo's Dictionary]
    [The Software Guides]

    Copyright (c) 1996-2005 by Michael B. Karbo.