In a computer, most components are synchronized with a clock. Not everything is necessarily synchronized with the same clock, though. The CPU, for instance, can run incredibly fast, with high-end models coming close to reaching 6 billion cycles per second. Most other components aren’t able to match this incredible speed. The clock indicates exactly when a component is supposed to operate. The exact functionality, of course, depends on the component. But the basic concept is the same, permanently synchronized with the clock’s tick.
In a computer, almost all clocks are signaled with a square wave. A clock pulse is the “peak” of the square wave. Interestingly, nothing uses that peak as the trigger for anything. Even a clock that ticks 6 billion times a second spends enough time in the peak and trough that the exact timing would have enough variation to cause issues. Instead, most devices operate specifically on the rising edge of the clock pulse as it activates.
RAM is an interesting exception. You may know that RAM generations are currently referred to as “DDR X.” This DDR term is significant. It stands for “Double Data Rate.” While standard devices operate only on the rising edge of the clock pulse, DDR RAM operates on both the rising and falling edge of the clock pulse. This doubles its bandwidth over the same technology using Single Data Rate. As bandwidth is a critical part of RAM performance, this DDR tech is now universal in RAM.
How Does the Clock Pulse Work?
A clock generator generates the clock pulse. This is typically a carefully shaped quartz crystal with an electrical current passed over it. One of its intrinsic properties is that it generates a perfectly regular pulse of electricity. While the crystals can be tuned to a range of frequencies, typically, only two are used, and then only one of those is dominant. Most clocks tick at 100MHz or 100 million cycles per second. Some computers feature a second clock that operates at a frequency of 125MHz.
You may notice that this is remarkably lower than the 6GHz that can be obtained, in optimum conditions, by modern CPUs. Rather than making one clock to control the CPU speed and then locking it to that exact frequency, the frequency of a CPU and other devices is set via a multiplier. The multiplier multiplies how many pulses there are per second. One of the key advantages of this is that the multiplier can be adjusted. This adjustment can happen on the fly, allowing fine performance control based on thermal headroom, power headroom, and load.
Design Limitations from Working with Clock Pulses
Synchronizing to clocks significantly increases RAM performance and benefits most PC components. It does have some unusual limitations, though. While it sped up RAM, a school of thought suggests it’s slowed down CPUs.
A CPU clock rate has to be limited to a conservative estimate of the worst-case performance of the slowest function of a CPU. This way, you can guarantee that everything completes in one clock cycle, and you don’t have some things bleeding over, creating unintended configurations. This means that a CPU unbound by a clock, able to complete operations as fast as it wants and then able to move on to the next one immediately, could theoretically operate much quicker.
The problem with this is the logic. As things don’t necessarily complete on a predictable schedule, you must add a lot of extra verification circuitry. Furthermore, as this architecture concept is unfavoured, no fully featured CPU design software exists to design asynchronous CPUs. This makes it difficult to verify if the concept would provide an overall performance boost.
Electrons Are Slow
While you may think providing a clock signal to a CPU is relatively simple, it’s very much not. Modern CPUs are rather large and deeply intricate; this means that the propagation time of an electrical signal from one side to the other can be significant, at least compared to one six billionths of a second. The clock signal is introduced to the CPU in many places to ensure that the whole CPU is perfectly synchronized.
As CPUs get larger and feature density higher, more circuitry is required to provide accurate clocking. Furthermore, as the “Node” of CPUs has decreased, the resistance on the smaller wires has increased. This means that the power required to tick the clock on modern CPUs makes up a reasonable proportion of the overall power draw.
As the power draw, directly affects heat production, it has a two-part impact on CPU performance, both negative. This is a further argument for asynchronous CPUs. Lacking a clock, they lack this power draw and heat production, leaving more thermal and power headroom for actual performance, further helping to make up for the necessary increase in complexity.
A clock pulse is the peak of a square wave clock signal used for computer synchronization. Most components specifically use the rising edge of that pulse to operate. DDR RAM, however, uses both the rising and falling edge of the pulse to operate. A clock generator, such as a quartz piezo-electric oscillator, generates the pulse. These pulses are then typically modified by a multiplier to precisely match the desired clock speed.
Did this help? Let us know!