Inelectronics and especially synchronousdigital circuits, aclock signal (historically also known aslogic beat)[1] is an electroniclogic signal (voltage orcurrent) which oscillates between a high and a low state at a constantfrequency and is used like ametronome to synchronize actions of digitalcircuits. In asynchronous logic circuit, the most common type of digital circuit, the clock signal is applied to all storage devices,flip-flops and latches, and causes them all to change state simultaneously, preventingrace conditions.
A clocksignal is produced by anelectronic oscillator called aclock generator. The most common clock signal is in the form of asquare wave with a 50%duty cycle. Circuits using the clock signal for synchronization may become active at either the rising edge, falling edge, or, in the case ofdouble data rate, both in the rising and in the falling edges of the clock cycle.
Mostintegrated circuits (ICs) of sufficient complexity use a clock signal in order to synchronize different parts of the circuit, cycling at a rate slower than the worst-case internalpropagation delays. In some cases, more than one clock cycle is required to perform a predictable action. As ICs become more complex, the problem of supplying accurate and synchronized clocks to all the circuits becomes increasingly difficult. The preeminent example of such complex chips is themicroprocessor, the central component of modern computers, which relies on a clock from acrystal oscillator. The only exceptions areasynchronous circuits such asasynchronous CPUs.
A clock signal might also be gated, that is, combined with a controlling signal that enables or disables the clock signal for a certain part of a circuit. This technique is often used to save power by effectively shutting down portions of a digital circuit when they are not in use, but comes at a cost of increased complexity in timing analysis.
Most modernsynchronous circuits use only a "single phase clock" – in other words, all clock signals are (effectively) transmitted on a single wire.
Insynchronous circuits, a "two-phase clock" refers to clock signals distributed on two wires, each with non-overlapping pulses. Traditionally one wire is called "phase 1" or "φ1" (phi1), the other wire carries the "phase 2" or "φ2" signal.[2][3][4][5] Because the two phases are guaranteed non-overlapping,gated latches rather thanedge-triggered flip-flops can be used to storestate information so long as the inputs to latches on one phase only depend on outputs from latches on the other phase. Since a gated latch uses only four gates versus six gates for an edge-triggered flip-flop, a two phase clock can lead to a design with a smaller overall gate count but usually at some penalty in design difficulty and performance.
Metal oxide semiconductor (MOS) ICs typically used dual clock signals (a two-phase clock) in the 1970s. These were generated externally for both theMotorola 6800 andIntel 8080 microprocessors.[6] The next generation of microprocessors incorporated the clock generation on chip. The 8080 uses a 2 MHz clock but the processing throughput is similar to the 1 MHz 6800. The 8080 requires more clock cycles to execute a processor instruction. Due to theirdynamic logic, the 6800 has a minimum clock rate of 100 kHz and the 8080 has a minimum clock rate of 500 kHz. Higher speed versions of both microprocessors were released by 1976.[7]
The6501 requires an external 2-phase clock generator. TheMOS Technology 6502 uses the same 2-phase logic internally, but also includes a 2-phase clock generator on-chip, so it only needs a single phase clock input, simplifying system design.
Some early integrated circuits usefour-phase logic, requiring a four-phase clock input consisting of four separate, non-overlapping clock signals.[8] This was particularly common among early microprocessors such as theNational SemiconductorIMP-16,Texas Instruments TMS9900, and theWestern DigitalMCP-1600 chipset used in theDECLSI-11.
Four phase clocks have only rarely been used in newer CMOS processors such as the DEC WRL MultiTitan microprocessor.[9] and inIntrinsity's Fast14 technology. Most modern microprocessors andmicrocontrollers use a single-phase clock.
Many modernmicrocomputers use a "clock multiplier" which multiplies a lower frequency external clock to the appropriateclock rate of the microprocessor. This allows the CPU to operate at a much higher frequency than the rest of the computer, which affords performance gains in situations where the CPU does not need to wait on an external factor (like memory orinput/output).
The vast majority of digital devices do not require a clock at a fixed, constant frequency. As long as the minimum and maximum clock periods are respected, the time between clock edges can vary widely from one edge to the next and back again.Such digital devices work just as well with a clock generator that dynamically changes its frequency, such asspread-spectrum clock generation,dynamic frequency scaling, etc. Devices that usestatic logic do not even have a maximum clock period (or in other words, minimum clock frequency); such devices can be slowed and paused indefinitely, then resumed at full clock speed at any later time.
Some sensitivemixed-signal circuits, such as precisionanalog-to-digital converters, usesine waves rather than square waves as their clock signals, because square waves contain high-frequencyharmonics that can interfere with the analog circuitry and causenoise. Such sine wave clocks are oftendifferential signals, because this type of signal has twice theslew rate, and therefore half the timing uncertainty, of asingle-ended signal with the same voltage range. Differential signals radiate less strongly than a single line. Alternatively, a single line shielded by power and ground lines can be used.
In CMOS circuits, gate capacitances are charged and discharged continually. A capacitor does not dissipate energy, but energy is wasted in the driving transistors. Inreversible computing,inductors can be used to store this energy and reduce the energy loss, but they tend to be quite large. Alternatively, using a sine wave clock, CMOStransmission gates and energy-saving techniques, the power requirements can be reduced.[citation needed]
The most effective way to get the clock signal to every part of a chip that needs it, with the lowestskew, is a metal grid. In a large microprocessor, the power used to drive the clock signal can be over 30% of the total power used by the entire chip. The whole structure with the gates at the ends and all amplifiers in between have to be loaded and unloaded every cycle.[10][11] To save energy,clock gating temporarily shuts off part of the tree.
Theclock distribution network (orclock tree, when this network forms a tree such as anH-tree) distributes the clock signal(s) from a common point to all the elements that need it. Since this function is vital to the operation of a synchronous system, much attention has been given to the characteristics of these clock signals and theelectrical networks used in their distribution. Clock signals are often regarded as simple control signals; however, these signals have some very special characteristics and attributes.
Clock signals are typically loaded with the greatestfanout and operate at the highest speeds of any signal within the synchronous system. Since the data signals are provided with a temporal reference by the clock signals, the clockwaveforms must be particularly clean and sharp. Furthermore, these clock signals are particularly affected by technology scaling (seeMoore's law), in that longglobal interconnect lines become significantly more resistive as line dimensions are decreased. This increased line resistance is one of the primary reasons for the increasing significance of clock distribution on synchronous performance. Finally, the control of any differences and uncertainty in the arrival times of the clock signals can severely limit the maximum performance of the entire system and createrace conditions in which an incorrect data signal may latch within a register.
Most synchronousdigital systems consist of cascaded banks of sequentialregisters withcombinational logic between each set of registers. The functional requirements of the digital system are satisfied by the logic stages. Each logic stage introduces delay that affects timing performance, and the timing performance of the digital design can be evaluated relative to the timing requirements by a timing analysis. Often special considerations must be given in order to meet the timing requirements. For example, the global performance and local timing requirements may be satisfied by the careful insertion ofpipeline registers into equally spaced time windows to satisfy critical worst-casetiming constraints. A proper design of the clock distribution network helps ensure that critical timing requirements are satisfied and that no race conditions exist (see alsoclock skew).
The delay components that make up a general synchronous system are composed of three individual subsystems: the memory storage elements, the logic elements, and the clocking circuitry and distribution network.
Novel structures are currently under development to ameliorate these issues and provide effective solutions. Important areas of research include resonant clocking techniques ("resonant clock mesh"),[12][13][14][15]on-chip optical interconnect, andlocal synchronization methodologies.
power consumed by the clock subsystem of EV6 was about 32% of the total core power. To compare, it was about 25% for EV56, about 37% for EV5 and about 40% for EV4.
Adapted fromEby FriedmanArchived 2014-08-12 at theWayback Machine's column in the ACMSIGDAe-newsletter byIgor Markov
Original text is available athttps://web.archive.org/web/20100711135550/http://www.sigda.org/newsletter/2005/eNews_051201.html