Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références ».
À chaque cycle d'horloge, des calculs peuvent être effectués en utilisant les sorties de bascules. L'horloge permet d'assurer que les données sont valides au cycle d'horloge suivant, c'est-à-dire que les calculs sont terminés et les résultats stabilisés. Même certains filtres, comme les circuits à capacités commutées, doivent être cadencés par un circuit d'horloge[2]. La durée du cycle doit donc être choisie en fonction du temps de réponse des portes logiques.
Influence de la fréquence
On considère généralement qu'un circuit est d'autant plus rapide que la fréquence du signal d'horloge qui le synchronise est élevée. Cependant, l’overclocking, c'est-à-dire l'augmentation de la fréquence d'horloge, entraîne une augmentation de la consommation électrique et, par effet ohm, de la température. Augmenter la tension ou refroidir le circuit sont donc nécessaires pour augmenter la vitesse de commutation des transistors, et donc augmenter la fréquence d'horloge ; mais à partir d'une certaine fréquence, le circuit « décroche » : certains signaux ne sont pas stabilisés à l'arrivée d'une impulsion, ce qui conduit à des erreurs que le contrôle de checksum ne suffit plus à réparer.
Pour accélérer encore le circuit, on peut diminuer la taille des plus longs circuits logiques, par exemple en y ajoutant des étages de bascules intermédiaires : ils s'exécuteront alors en plusieurs cycles, permettant d'augmenter la fréquence et d’exécuter les autres calculs plus rapidement.
Un des problèmes récurrents pour les horloges est la variation de leur période. Ce phénomène, appelé gigue d'horloge, cause des problèmes pour la fiabilité du circuit et complique la montée en fréquence : une période trop courte peut en effet activer les bascules avant que le résultat du circuit précédent ne soit disponible, ce qui oblige le concepteur à utiliser un cycle moyen suffisamment long pour que cela ne se produise pas.
Implémentation
L’horloge qui génère ce signal étant en général reliée à un très grand nombre de bascules, elle possède un fan-out important, ce qui conduit à la conception d’un arbre d’horloge, et à l'insertion de répéteurs. On utilise des algorithmes spécialisés pour router ce circuit, de manière à contrôler au mieux les différences de délais.
D'autres méthodes ont été étudiées pour réduire l'énergie consommée par ce circuit et les différences de délais. On peut citer, par exemple, l'utilisation des propriétés de résonance des circuits RLC pour entretenir les oscillations[3].
Clock gating
L'horloge peut représenter une part importante de la consommation d'énergie d'un circuit : les fronts d'horloge consomment de l'énergie en chargeant et déchargeant les fils, et en activant les bascules qui y sont reliées. Pour réduire la consommation des circuits synchrones, on utilise le clock gating, qui consiste à couper l'horloge dans les parties inactives du circuit.
Circuits sans horloge
Même si la plupart des circuits électroniques complexes sont synchronisés par une horloge, il est possible d'en concevoir qui n'en possèdent pas. On parle alors de circuit asynchrone. Inversement, on parle de circuits synchrones pour ceux utilisant un unique signal d'horloge.