49
M
M
K
K
3
3
3
3
I
I
I
I
/
/
M
M
K
K
3
3
3
3
I
I
I
I
(
(
A
A
)
)
O
O
n
n
l
l
i
i
n
n
e
e
M
M
a
a
n
n
u
u
a
a
l
l
Y
Y
e
e
a
a
r
r
2
2
0
0
0
0
0
0
(
(
Y
Y
2
2
K
K
)
)
Y2K is basically a problem of the identification of year code. To save storage space, traditional software uses only two digits for
year identification. For example, 98 for 1998 and 99 for 1999, but 00 will be confused with 1900 and 2000.
There is an RTC circuit (Real Time Clock) in conjunction with 128 bytes of CMOS RAM data in the chipset of the motherboard. The
RTC has only two digits and the CMOS has another 2 digits. Unfortunately, this circuit’s behavior is like this 1997
#
1998
#
1999
#
1900, that means it may have the Y2K problem. Below is a diagram of how applications work with the OS, BIOS and RTC. In
order to keep the best compatibility in the PC industry there is a rule that applications must call the OS to get services and OS
must call the BIOS, and then only BIOS is allowed to access the hardware (RTC) directly.
There is a Tick Routine (that goes live around every 50m sec) in the BIOS to keep record of date/time information. In general the
BIOS, this Tick Routine does not update the CMOS every time because the CMOS is a very slow device that degrades system
performance. The Tick Routine of the AOpen BIOS has 4 digits for year coding, as long as applications and the operating system
Applications
Operating System (such as Windows 98)
BIOS (Tick Routine)
RTC and CMOS data