Clock drift. Not strictly a Linux question.

Tony Alfrey tonyalfrey
Mon Feb 19 03:40:14 PST 2007


Roger Oberholtzer wrote:
> So, I should conclude that no one really knows what is a reasonable
> clock drift on a modern PC?

So since you insist on being on-topic, CPU clocks are crystal controlled 
(obviously).  From dealing with this stuff from earlier 
motherboard-unrelated projects, good quartz crystals are accurate to a 
few tens of parts per million out of the box at 25C.  But frequency 
stability is parabolic with temperature and can be off by an additional 
10 ppm at 25C + 25C = 50C and 40 ppm at 25C + 50C = 75C.  Additionally, 
microprocessor clocks are phase-locked loops that operate at multiples 
of the crystal frequency, so bump up the error by another order of 
magnitude to 100 ppm to account for phase noise in the PLL.  The clock 
chips themselves are PPL and the CPU has it's own PPL.  Remarkably, 
specs from the manufacturers of clock chip sets do not have information 
on clock frequency stability, only clock skew and clock jitter, which is 
the same as phase noise. But phase noise is not frequency offset, which 
is what it sounds like you have.

Additionally, the datasheet for the Pentium 4 as an example screams 
about the need to minimize noise on Vcc to keep the PPL from losing 
lock.  So The Llllllama's guess that your motherboard is funky is 
essentially the same as saying they used a cheap crystal/clock chipset 
or noisy rail voltages on the MB because who other than someone who is 
doing a GPS comparison is going to notice 1000 PPM (which is I guess 
what you're seeing?), or else they were stupid about temperature control 
and made no attempt to provide a constant temp for the crystal (not a 
bad guess from looking at an old Intel MB that I've got on the shelf).

I see this link which may be relevant:

http://www.gpsclock.com/nextlevel.html

in which they describe in broad terms how to lock the clock in your box 
to a decent temperature-controlled "real" oscillator.

So the answer is I don't know, but one could expect a few tens of PPM if 
one did a little work on the MB and 1000 ppm if the board was noisy and 
had poor temperature control.  If your frequency error is random, think 
phase noise driven by power supply noise.  If your frequency error seems 
always to be a fixed offset, think temperature control.


-- 
Tony Alfrey
tonyalfrey at earthlink.net
"I'd Rather Be Sailing"



More information about the Linux-users mailing list