Microsoft Y2K  
Microsoft
 This static CD-based web site is representative of the www.microsoft.com/y2k site as of October 15, 1999.

Microsoft Year 2000 Readiness Disclosure & Resource Center
Windows Operating System Interactions with BIOS and Real Time Clock
4. RTC/BIOS and the rollover to Year 2000

Before IBM made the Real Time Clock (RTC) chip standard equipment on its PC AT in 1984, users were prompted to enter the date manually every time they turned on their computers. PCs since then have essentially duplicated the RTC chip, which may or may not have Year 2000 functionality.

The RTC chip is battery powered to ensure it can keep time even when the PC is turned off. The chip itself updates time, day, month, and 2-digit year. It typically contains seven registers that store time and date values. Six of the registers are updated automatically. Each one of them stores a different value: seconds, minutes, hours, days, months, and years. The year register stores the last two digits û "99" in 1999 or "00" in 2000. A seventh oneùcalled the century registerùstores the first two digits of the 4-digit year. The century register reads either "19" in 1999 or "20" in 2000 and is not updated automatically. It will change only if updated by either the BIOS or the operating system.

Many hardware manufacturers do not support direct access to the RTC. This is because there is no standard location for the century register in RTCs. For example, the RTC chip in most PS/2 computers stores the century value in a different location than the RTC chip found in other types of computers. Some Year 2000 testing applications do access the RTC directly and have detected anomalies. However, Microsoft is not aware of any non-test applications that directly access the RTC. In general, applications should always use defined application program interfaces (APIs) or BIOS interfaces to obtain date information.

The RTC and BIOS functionally support each other so it is advisable to view their Year 2000 readiness as a combined unit. Most RTC rollover issues are remedied by the BIOS, while still others are remedied by the operating system.

In older PCs, the BIOS software may not automatically roll over the century. In that case, the century register in the RTC will remain at "19" when the date should roll from 1999 to 2000. Some PCs have BIOS that do not recognize the years between 1980 û 1993 or 2000 û 2093 as valid dates so the RTC century register will not rollover to 2000. These BIOSes also will change the date to some other non-current date. In some other PCs, BIOS Setup may not accept dates after 12/31/1999.

The computer startup program and POST sequences are summarized below to enable you to better understand how date errors are passed to the operating system.

When the system is turned on, it "boots-up." The boot program is stored permanently in a set of read-only memory (ROM) chips. A signal triggers the CPU to initialize its registers. The signal sets the CPU's program counter to the address of the instruction that starts the BIOS boot program that in turn invokes a series of system checks, known as Power On Self Tests (POST).

During POST the CPU sends signals to system components to ensure they are all functioning properly. If they are not, error messages (or beeps) indicate which components need attention.

POST validates the system's RTC for consistency and notifies you when something is obviously wrong. For example, if the battery that powers the clock has failed, POST notifies you and resets the date values.

Next POST initializes the display adapter. Tests are then run to determine the amount of memory on the system, to ensure that the random-access memory (RAM) chips are functioning properly, to ensure that the keyboard is attached properly, and to determine if any keys have been pressed.

Next POST detects which drives are available and records any changes to the basic system configuration. POST then identifies the BIOS code of any additional components and incorporates them into the system's BIOS program.

The next step in the boot process is loading the operating system from disk. Note that the RTC and BIOS are invoked before the operating system is loaded. This is a key factor in some rollover-error cases.

The next section describes three common RTC/BIOS error cases and how date errors would be passed on to the operating system.

<< 1 2 3 4 5 6 7 8 9 10 11 12 13 >>


Send This To a Friend


 

Last updated September 9, 1999
1999 Microsoft Corporation. All rights reserved. Terms of use.

This site is being designated as a Year 2000 Readiness Disclosure and the information contained herein is provided pursuant to the terms hereof and the Year 2000 Information and Readiness Disclosure Act.