Y2K Site Map | Terms of Use | Problem | Steps | Certification | Briefings | Compliance | Solutions | BIOS | Test & Evaluation | Cost


The following Y2K material has been kept available by MITRE for historical purposes only and has not been updated unless noted.

MITRE - Y2K - Real-Time Clock and CMOS
Real-Time Clock and CMOS

The Real Time Clock (RTC)
Calling the clock real-time is somewhat of a misnomer because it only reflects the time setting it has been given. The RTC is the other half of the chip that has the CMOS memory and can be thought of as a set of counters.

The first one counts from 0 to 9 and then tells the next counter (the 10's place counter) to count up once. The first counter then starts counting again and counts from 0 to 9 and again telling the next higher counter (the 10's counter) to set its counter up one more (now at 2), and so on.

Now the 10's place counter (which is counting 10's of seconds) only counts from 0 to 5 and then it tells the minute counter to do its increment, which will then start its journey from 0 to 9 and so on.

Of course the next counter after the minute counter is the minute 10's place counter, which also counts from 0 to 5 and then tells the hours counter to count once etc, etc.

The process goes on through the hour 10's place as it counts from 0 to 2, the day counter-which goes from 1 to 30, or 31, or sometimes 28 or maybe 29 depending on what the rules for which month has how many days and which years have 29 day Februarys. The month counter proceeds to go from 1 to 12, and then of course the year counter starts its journey with the good old 0 to 9, and finally we have the year 10's counter again with values going from 0 to 9. Simple and straightforward, right?

But that is as far as most RTCs go since almost all RTCs have only a two-digit year. The exception to this rule is the RTCs from Dallas Semiconductor, which introduced four-digit year clocks in 1992 and is offering a number of them currently.

In addition to the possibility of going with a four-digit year RTC, other options are available to keep the RTC and CMOS memory century indicator correct when you cannot get a corrected BIOS for your system. Both IBM and Dell have developed free Year 2000 device drivers to correctly set the CMOS century information when the computer is on, or the next time it powers up. Dell's driver, meant for Dell systems with 486 or older processors, installs above the CMOS in main memory and keeps polling for time and date every 15 minutes or so. When this driver, called the Y2000RTC Driver, finds that the real-time clock is within 15 minutes of 2000, it jumps into action, counting the milliseconds until the changeover just after 11:59:59 p.m. and correctly setting the CMOS century information. The driver, which Dell says runs under all versions of Microsoft Windows, MS-DOS, Novell NetWare and IBM OS/2, ensures that the RTC and CMOS memory date information is correct and available to the BIOS, OS, or applications.

IBM is offering Year 2000 RTC Device Drivers for most computers running OS/2 Warp, MS-DOS, PC-DOS, Windows 3.1, Netware 3.12 and 4.11, Windows 95, and Windows NT. A list of the computers that IBM has tested with these device drivers is available on-line.

For a list of several of the fix approaches available please see Y2K BIOS Testing Utilities and Patches.

Why Can't I Just Set My Clock Back a Few Years?
Simply resetting computer clocks to (19)00 is not normally a large-scale solution to the Year 2000 problem. Please see Can We Reset to 1900? by David Eddy for more information on this subject.

CMOS Memory
The CMOS memory is an accessible set of memory locations on the same chip as the RTC and has its own battery backup so that it retains both functions even when the computer is turned off. Battery-powered CMOS and RTCs did not originally exist and the current time was entered manually every time the system was turned on.

The CMOS memory location that holds the century is referred to as register 32. The century designation is encoded as Binary Coded Decimal (BCD). This memory location in CMOS is separate and a part from the RTC registers and there are several ways it can be updated. Specifically, the BIOS can update the century information, as can many operating systems, network time systems, applications, or the user can set it using the right commands.


PC Internal Clock and BIOS Desktop PC Resolution Clock/BIOS Flowchart Appropriate BIOS Upgrade Test Your PC System Clock Testing Leap Year
Other Dates of Concern FlashBIOS Upgrades Testing Utilities & Patches Vendor Patches & SW Libraries Manual Clock Setting PC Suppliers Compliance Lists

For further information directly related to Year 2000 issues, please contact Year2000@mitre.org

Information is provided by the MITRE Y2K Team
Last modified: Thursday, 14-Feb-2008 09:21:05 EST