Anyone have the technical explanation for mobo clock being inaccurate?

Jerboy

Banned
Oct 27, 2001
5,190
0
0
The CMOS clock that keeps track of time and date on computers drifts at least few times more than even the cheapest standalone clock/watch. Why is this and why can't they match the accuracy of standard digital watch?

The typical clock has a 32,768Hz crystal and it is divided by 2^15 to derive one pulse per second. Considering cheapie watches can be made for a dollar or two in quantity, I really don't understand why motherboard clock can not have accuracy of better than 15sec/month.


I've heard mobo clock generators are 20MHz or so and my my guesstimates are :

67.108865MHz divided by 2^26 or 33.554432MHz divided by 2^25 or 16.777216MHz divided by 2^24 or 4.194304MHz divided by 2^22

Does mobo have different type of time-base than typical clock and if it does, how is the time base derived on computer mobo's?


 

CTho9305

Elite Member
Jul 26, 2000
9,214
1
81
who says computer clocks are innacurate? usually they become innacurate when the battery on the mobo starts going bad.

clarification: at my university we use authentication software (kerberos) that depends on system time. it is veyr rare that someone has to sync their clock to the servers more than, say, once a year. of course, there are occasionally people who call to say that they have to sync it every day or week, but that is not common.
 

ElFenix

Elite Member
Super Moderator
Mar 20, 2000
102,402
8,574
126
mobo makers use the cheapest clock generators they can get for the system clock.
 

Mark R

Diamond Member
Oct 9, 1999
8,513
16
81
I've had a number of PCs, some of which have had reasonably accurate clocks - others have been hopeless. The problem I'm sure is low-grade clock generators used on the motherboards, possibly with higher quality motherboards using higher quality clocks

For example: My Abit BH6 gains approx 10 seconds each day, and a newer KT7 is not much better. On the other hand my old Gateway 486, loses about 1 second each day.

Hmm. I wonder if anyone makes a motherboard, with built in rubidium oscillator... :)
 

Peter

Elite Member
Oct 15, 1999
9,640
1
0
Exactly - you won't find high precision crystals on the average mainboard - except for the LAN port, whose base clock has to be ridiculously accurate.

regards, Peter
 

johncar

Senior member
Jul 18, 2000
523
0
0
Well all of the responses related to "hardware quality control" are very valid. But there's a little known "design problem" which assures that timekeeping will never be totally accurate. It all began with the original PC which needed 3 timing frequencies, one for the clock, one for audio, and one we think for memory refresh. Well whatever the other 2 were, the system designers decided to save a few pennies and instead of using 3 oscillators, one for each of 3 functions, they decided to install only one oscillator and derive the other 2 by frequency division. This would have been no problem except that in "optimizing" the base frequency to be used they chose a value which is NOT divisible by the 86400 secs in each day = 14318180 Hz...which is divided by 12 to get 1193181.6666... subticks per sec. And every 65536 subticks generate the popular system 18.20650736490886 ticks/sec of 54.92541649...millisecs duration each.

There are 86400*14318180/(12*65536) = 1573042.2363... ticks/day in this cobbled up system. But Rom Bios assumes that a day consists of only 1573040 ticks by rolling over the tick counting registers to 0 after 1573039. The difference is 2.236328125 ticks/day. So programs which calculate "absolute time" using these statistics generate an error of about 122.8 millisecs/day, (~ 2.236* 54.925).

Granted, not very much, unless you want to do some precise timing for scientific experiments which require timing to better than ~55ms. You could always write code that interrogates the "subtick registers" which gets timing down to .838095 micro secs during the initial day of experiment/s, but does nothing about the 122.8 ms lost at every midnight rollover.

We actually set up a frequency counter counting its own time base triggerd by system ticks, and sure enough, at midnight the last count before midnight was off by the equivalent of 122.8ms. Did this in dos mode, setting the time to 23.55.00 so we could repeat the test over and over without waiting for "actual" midnights to roll around.

Used to be a PCTIM002.TXT Faq about all this by Ken Heidenstrom from New Zealand, try variations of PCTIM in search engines if interested.

John C.





 

johnlog

Senior member
Jul 25, 2000
632
0
0
for those having time of day problems with their computers they can use programs like AtomicClock that accesses the official time stations around the country. My computer clock is quite accurate but it could lose a minute or gain a minute each month. I simply run AtomTime and it logs on and shows the time difference for my computer and the correct time. Click and it auto resets your computer time accurately.

 

Peter

Elite Member
Oct 15, 1999
9,640
1
0
johncar, you're right for the timer interrupt driven timekeeping while the system is alive. When power is off however, no software is involved, it's the crystal driven RTC chip's business then. Here, all that counts is crystal accuracy.

regards, Peter
 

Moohooya

Senior member
Oct 10, 1999
677
0
0
Never knew so may others were having the same problem. I've written a small service for NT and 2000 that accesses various NTP servers to keep my computer ticking within a hundredth of a second of UTC. (Well, typically the various peer 2 servers I access seem to differ by as much as a couple of hundredths, so I pick the server that I believe is the best ticker and use that one.)

It is very lightweight, discrete, automatic, but sitting on my drive which I cannot access as that computer is dead :( In the newyear I hope to rebuiuld my machine, and if someone reminds me I'll put together a small install app for it and post it.

Moohoo
 

RagManX

Golden Member
Oct 16, 1999
1,219
0
86


<< johncar, you're right for the timer interrupt driven timekeeping while the system is alive. When power is off however, no software is involved, it's the crystal driven RTC chip's business then. Here, all that counts is crystal accuracy.

regards, Peter
>>


Why would you ever power ever off? :D

Good info in this thread on clocks/timing. Learned a lot about timing on a network for LAN devices, but never knew much about PC timing. Thanks for the info.

RagManX
 

Sunner

Elite Member
Oct 9, 1999
11,641
0
76
Seems to me like older mobos typically have more accurate clocks.

Maybe it's just me, but it seems somewhat reasonable since in the days of "internet for everyone", that is today, it's so easy to setup NTP for your clock, which pretty much eliminates the need for an accurate mobo clock.
Of course this isnt very fair to people who for some reason dont have internet access.

Anyways, just a theory of mine.
 

Jerboy

Banned
Oct 27, 2001
5,190
0
0


<< mobo makers use the cheapest clock generators they can get for the system clock. >>



Well if they could make a whole relatively accurate wrist watch for less than $5, something just as accurate will be quite cheap.
 

Peter

Elite Member
Oct 15, 1999
9,640
1
0
Go expose your $5 wrist watch to the temperature changes that occur in a PC and see how accurate it is then ... temperature stability is a major factor in telling cheap crystals from good ones.

regards, Peter
 

flot

Diamond Member
Feb 24, 2000
3,197
0
0
I just thought I'd throw in that my PC clocks always seem to suck as well. I mean, after a month or two, I'll be showing up for meetings 5-10 minutes early because outlook (ugh) is always reminding me about them when they don't exist. Has always pissed me off. Some have definitely been better/worse than others - one PC I had must have lost as much as a minute a day...
 

dajeepster

Golden Member
Apr 15, 2001
1,974
16
81
<Seems to me like older mobos typically have more accurate clocks.> NNOOOOOOO!!!!

When you have multiple clocks in a system, you have a higher degree of modulation going on between the various clocks... then you start to end up with components resonating at a new frequency that you don't want in your system. Then your system becomes unstable at higher frequencies (i.e. overclocking and Ghz chips). and then....... CRASH...

Ideally, you want just the minimum amount of clocks in your system for a stable platform... "more" is not better in this case (clocks that is :D)
 

Jerboy

Banned
Oct 27, 2001
5,190
0
0
ok I just noticed my clock drifts more when the computer is on without active compensation through NNTP server, which we won't get into since its not directly related to clock accuracy of the motherboard itself.

I've been leaving my machine on 24/7 for 4 days for SETI and my clock lost whoppin 15 seconds(Automachron tells you how much it adjusted(15450ms=15.45secs offset) in less than a week and that comes to almost two minutes a month, which would be totally unacceptable for any digital watches(they're usually rated at about 15 sec + - per month)The temperature extreme doesn't sound appropriate here since temeperature remains virtually constant with the machine on 24/7 in controlled temp room.


Do PC's use different clock generator when its on? Perhaps its deriving from the same clock generator used for FSB when on and 32768 crystal when it is off and running from CMOS battery..
 

johnlog

Senior member
Jul 25, 2000
632
0
0
I just checked my computer's time with Atomic Clock and found it was one minute and fifteen seconds fast. I clicked on the Adjust button and it set my computer time correctly.

Am I the only one who has a fast clock in my computer? :Q

 

Shalmanese

Platinum Member
Sep 29, 2000
2,157
0
0
When you are in windows, windows handles the clock so when you do heavy computation, the clock drifts. Restarting the computer should sync the BIOS clock with the windows clock
 

JesseKnows

Golden Member
Jul 7, 2000
1,980
0
76
johncar- The original IBM PC clock frequency was chosen as the 14.318180 MHz because a simple derivative of the frequency is used in some TV-related video circuit (divide by 4 to get the NTSC color burst? I am not sure) and divide by 3 is very close to the 5MHz which the 8088 was specified for. Recall that the original Color Display Adapter could feed a TV with composite signal. So, your general statement about sharing clock sources is scorrect, except it was video not audio.

Before we sigh again about IBM engineers cutting corners, let me add that when signals are all derived from the same source it is much easier to get rid of electrical noise and unwanted harmonics. It wasn't only the cost of extra crystals, but also a major saving in filtering so that the resulting TV signal would not be noisy and the CPU would not go AWOL:)

Moohooya - there is already a time service in Win2K. See microsoft's KB article Q224799 and related articles quoted there. If you have MSDN Library, do a search for "windows time service".
 

Jerboy

Banned
Oct 27, 2001
5,190
0
0


<< When you are in windows, windows handles the clock so when you do heavy computation, the clock drifts. Restarting the computer should sync the BIOS clock with the windows clock >>




Windows can alter the clock, but Windows can't generate clock and it must be derived from some hardware crystal oscillator or RC oscillator.
 

chew

Junior Member
Sep 1, 2001
13
0
0
I have an Epox 8KTA3+ which gains about 15 minutes per month. Surely this goes beyond the explanations of using clock generators that don't quite have numbers that divide exactly to produce 100% accurate time...
Could it be related to the fact the a lot of motherboards these days have all their clock signals a small fraction overclocked to generate better benchmarks? There has been a lot of this stuff lately, especially on Asus boards.
Actually, I might try running WCPUID or similar to see what speed it is tells me I'm running at compared to what my BIOS tells me.. perhaps others with the problem would like to try the same and share the results?
 

Peter

Elite Member
Oct 15, 1999
9,640
1
0
no ... the 32-kHz oscillator which the RTC lives off is completely separate from the clock synthesizer PLL chip that produces all the clocks for the live system. The former might be a separate crystal, or internal to the chip that contains the RTC. The latter runs off a 14.318 MHz base crystal. They're completely separate from each other, the RTC stuff running on battery power and the live clock PLL off the main power.

regards, Peter