and not all of them worked with all software packages. This problem was addressed with the introduction of the IBM-AT in 1984, which included a battery-backed hardware clock as standard equipment. An AT-compatible hardware clock is included with every X86 computer produced today.
The hardware clock is based on the Motorola 146818 Real Time Clock Chip, or a functionally equivalent device. The clock is supported by the AT BIOS, and BIOS services are available that let software programs read and set the clock.
The hardware clock is a CMOS device that consumes very little power. When the computer is turned off, it runs on batteries. When the computer is turned back on, the software clock starts running again and sets itself (within 1 second) to the hardware clock. Although the two clocks are synchronized at start-up, they may run at very different rates and will probably gain or lose time relative to each other while the computer is running.
The hardware clock is updated once per second and cannot display fractions of a second. For this reason, it cannot be read or set within better than a second. The accuracy of the hardware clock is determined by the quality of its time base oscillator (typically a 32.768 kHz crystal). These crystals are economical, costing less than $1 in single quantities. However, they offer only marginal time keeping performance. They are sensitive to temperature and other factors and are often not calibrated at the factory. Even under the best conditions, these oscillators are not likely to be stable to better than 1 part per million (about 0.1 seconds per day). In actual operation, most hardware clocks seem to gain or lose time at a rate of about 1 to 15 seconds per day, with 5 or 6 seconds per day being typical. Although the hardware clock usually outperforms the software clock by a considerable amount, its performance often pales in comparison to even a low-cost wristwatch.
As you can tell by now, neither the software or hardware clock is suitable for accurate time keeping. Fortunately, however, there are several ways you can keep accurate time on your PC if your application demands it.
Prepared by the NIST -Boulder, CO