There is no technical explanation except that the technology that is being used does not guarantee accurate clocks.
If you do the math, you'll uncover the fact that a wristwatch is phenomenally accurate compared to a RTC crystal.
I haven't been responsible for a computer design since 1989. Back in the day, the philosophy was, "design for the center of the statistical distribution and fix it in software." Fortunately, UINX was smart enough to do time correction.
I haven't been responsible for a frequency counter design group since
1975. Back in the day, the philosophy was, "use the cheapest timebase that guaranteed the specified accuracy."I've had motherboards where they saved a nickel by leaving off the two caps on the Xtal. Adding the caps helped, but "net time" fixed it in software.
Are we seeing a trend yet? You can get any accuracy you're willing to pay for. Computer users have voted with their wallets for "lousy". I don't remember ever seeing a specification for real time clock accuracy on a motherboard. So if the clock ticks, it's in spec. Statistically, you'll sometimes get one that's unacceptable and some of those will get bitched about on the internet. It's the same reason that sometimes your Ford won't run right.
You're the Chinese engineer. Go tell the bean counter that you want to add 20 cents worth of parts to adjust the clock frequency, add $4000 worth of capital equipment to each production station, a week of additional production line time to setup and program the equipment,
30 seconds of operator time to each board test and decrease the overall yield.It really is all about the Benjamins.
Let me restate it in technical terms. You get what you pay for, if you're lucky.
And yes, my motherboard keeps very good time (but still not anywhere near as good as my wristwatch). It's not because the design is different from any other motherboard design. It's because all the variables conspired to keep good time. I got lucky.
Benjamins!!!
mike