Interaction between the RTC and BIOS


 

 

 

 

 

As already stated in the previous page, the RTC is part of the CMOS RAM chip.

This chip is also known as non-volatile RAM, as the battery continues to keep the chip contents alive, when the PC is switched off.

The CMOS RAM holds 64 bytes of data about the basic configuration of the PC - the BIOS reads the contents of these 64 bytes during the boot up sequence.

The RTC actually feeds its seven different BCD outputs into specific bytes of the CMOS RAM, where they are stored, and updated by the RTC as time passes.

The BIOS therefore reads the output of the RTC through the CMOS RAM, rather than directly.

This is shown below :-

Note that the BIOS only reads the contents of the date and time bytes in the CMOS RAM as part of the boot up sequence - thereafter these bytes are ignored.

Also note that the data flow arrows are double headed.

The RTC can be preset to a particular date and time by entering CMOS set up, and loading in date and time values.

Also, for versions of DOS later than 3.3, using the Date and Time commands within the DOS command line will also preset the CMOS RAM and thus the RTC.

Byte 50 of the CMOS RAM is the century byte - it holds the number of the century in BCD format - so currently this byte in most PC`s holds the number 19.

However there is no data flow between the RTC and this byte, as the RTC does not know about centuries.

The data in this byte therefore has to come either by entering CMOS set up whilst booting up, or else it has to come from the BIOS.

However it gets there, the century data should be read by the BIOS during the boot up sequence along with the date and time data, and all the other configuration data.

 


© 1999 Ron Turner


Return to the Year 2000 index page