Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

How expensive would it be to add a very accurate hardware clock to a CPU instead of relying on the OS to keep time based on interrupts?


The most straightforward thing is to just run the CPU with an accurate clock frequency. You'll have to replace the Quartz next to the clock-generation chip next to your CPU/Chipset by something which is very accurate.

http://phk.freebsd.dk/soekris/pps/

https://deltafabri.wordpress.com/2015/03/08/under-60-ns-an-a...

For the cost, it's about $150 or so for a used GPS with precise 10 MHz reference frequency output, there's a different PLL IC (different from the ClockBlock module) from Silabs which is available from Adafruit for <$10, but I don't know if the xtal there can be exchanged for a 10 MHz frequency. The C-revision of the used IC can be, though... https://learn.adafruit.com/adafruit-si5351-clock-generator-b...


That's straightforward if you're a hardware hacker, it wouldn't slow me down much but I think that for most software oriented people building your own time-server and verifying that it works is out-of-scope.

GP probably meant to hook this straight into their PC and the CPU you refer to is actually the CPU of a separate board rather than the main CPU (where thermal drift will usually make the oscillator less than reliable over longer periods of time).


Ok, if you want something off the shelf, then there are things like this:

https://www.meinbergglobal.com/english/products/pci-express-...

But I don't know what functionality they actually provide available over the pci-express port, if one is unlucky, it's only the serial port to the GPS receiver ;-).


There are already several different options: https://access.redhat.com/documentation/en-US/Red_Hat_Enterp...

The TSC is sort of supposed to fill this role but has limitations. https://lwn.net/Articles/209101/

It's quite easy to build an accurate ticker, that monotonically increases at a rate that is within a few PPM of a known frequency. This is basically the "add finest cheap Casio digital watch technology to motherboard" option. If you fill your datacenter with these, they will slowly drift apart from each other and from UTC. UTC is generally what you want but then you have to account for leap seconds.

There is also huge scope for argument about what is meant by "very accurate".




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: