Signal d'horloge
Un signal d’horloge est, en électronique, et particulièrement en électronique numérique, un signal électrique oscillant qui rythme les actions d'un circuit. Sa période est appelée cycle d’horloge[1].
À 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
modifierOn 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.
Dans le cas de processeurs, de nombreuses autres propriétés entrent en ligne de compte, comme le parallélisme au niveau des instructions, la prédiction de branchement ou le temps d'accès à la mémoire. La fréquence d'horloge ne permet donc de comparer que des processeurs de conception proche.
Gigue d'horloge
modifierUn 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
modifierL’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
modifierL'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
modifierMê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.
Références
modifier- Lee Morgan, « Comment caractériser et résoudre les problèmes de gigue sur les systèmes embarqués », sur Actutem,
- Paul Horowitz et Winfield Hill, The Art of Electronics, Cambridge, GB, Cambridge University Press, (réimpr. 2e édition) (ISBN 0521370957), p. 282
- (en) Rachel Courtland, « Power-Saving Clock Scheme in New PCs », sur IEEE Spectrum, .