The Windows operating system clock starts out with the same value as the Real Time Clock whenever you reboot your computer, but from then on, it is updated completely independently of the RTC via periodic clock interrupts. Thus, over time (i.e. as the system runs), it is possible for the Windows operating system clock to get out of sync with the actual hardware RTC clock (i.e. the actual "wall clock" time).
This happens because as the system runs, certain software and operating system functions sometimes have to disable all interrupts causing the operating system to sometimes miss a clock interrupt. Most software that disable all interrupts (including the Windows operating system) don't keep interrupts disabled for very long (it's usually only for a VERY short period of time -- usually only a few microseconds (millionths of a second) at most), but because they DO disable all interrupts from time to time, clock ticks ARE unfortunately periodically lost, and over time, add up, causing the Windows operating system clock to sometimes differ considerably from the actual "wall clock" time (sometimes by several minutes or more, depending on system load and the variety and type of software programs running during the time period in question).
The following describes a different kind of clock, not related to time day but may be useful.
More reading:
This guide is meant as a basic explanation behind clock cycles at the very minimalist core of any digital device. It is by no means a comprehensive guide, but hopefully more of an introduction to people who are truly puzzled by the operation of computers.
The world of computers is binary. No matter how sophisticated the chip or architecture, digital components rely on 1’s and 0’s, on’s and off’s. But if a computer is simply a series of switches, how can it possibly perform the daily tasks we take for granted? It deals with the complex and varied implementation of an on-off switch, the transistor.
You can break down a computer chip much like a molecule. A molecule is made up of atoms, atoms of electrons, and so on down the line. A chip is made up of logical function units, which are made up of simple gates, which are made up, at the most basic level, of transistors.
In a perfect world, switches (like transistors) would operate in zero time. In other words, they would go directly from 0 to 1 or 1 to 0 instantaneously. With current technology, this is impossible, and it creates a problem when building complex digital systems. Depending on the complexity of a logical function, the number of transistors varies. This brings about the problem of the integration of many logic functions operating side by side.
Let’s take an example of adding two numbers, then storing the result into memory. An addition function would take many more transistors than a simple storage function. Since there are more transistors in the add function, it takes longer for the signal to travel through the adder than it does to travel through the storage logic. This causes instability in the system. Since the storage function will finish before the adder does, it may store a value that’s incorrect.
Think of two people walking. You put one person on a 1km straight path, and another on a 2km squiggly path and tell them to cross the finish line at the same time. It takes much longer for the second person to walk their path, so clearly the first person must wait to cross the line. This is where the idea of clocking comes in.
Digital systems use a clock as a “stop and wait” mechanism to keep all the different functions within a chip working on the same page. The clock pulse must be long enough to allow all operations to reach a stable state. This way the operations “cross the finish line at the same time". Now it's not that the clock makes things "wait", it's that the chips and funtions only operate during certain phases of the clock pulse as follows. For the most part they operate during:
-
rising edge (the instant when clock goes 0 to 1)
-
falling edge (1 to 0)
-
Hi true: operates as long as clock is 1
-
Low true: operates as long as clock is 0
Overclocking exploits this stability. As you increase the clocks, you’re decreasing the wait time available for functions to stabilize. If you use the example with the adder and storage and you increase the clock too much, you end up storing the data half way through the addition process (much like if there were no clock at all), so it could be totally incorrect. This causes the instability that is inherent with excessive overclocking.
From the outside, the function of a digital device is perplexing (multiplexing for those of you who know digital systems :-P). However, when you break it down to the very core of what’s happening, with 1’s and 0’s, it’s not entirely difficult to conceive. I hope this has helped someone to get a basic idea of what goes on in a computer, cell phone, camera, or any number of devices on the market today.