La plupart des conceptions modernes de microcontrôleurs fonctionnent avec n'importe quel motif sur leur entrée d'horloge, à la condition qu'aucune impulsion haute ne soit en dessous d'une certaine longueur minimale, qu'aucune impulsion basse ne soit en dessous d'une certaine longueur minimale et qu'aucun bas-haut-bas-bas-haut-bas-haut La paire d'impulsions est inférieure à une certaine longueur. En gros, ce qui se passe, c'est qu'après que la puce ait effectué toutes les actions associées à un bord d'horloge particulier, la puce sera dans un état où elle ne fait rien mais attend le prochain bord d'horloge. Si le prochain front d'horloge n'arrive pas avant dix jours, la puce sera dans le même état que si la puce avait un chien de garde externe, comme si le bord était arrivé au moment où elle était prête.
Notez qu'en général, suspendre l'horloge sur un microcontrôleur réduira considérablement la consommation de courant, mais pas autant que l'utilisation de la fonction "veille". La consommation de courant de la plupart des microcontrôleurs en mode "run" peut être assez bien estimée comme un courant de repos constant plus une certaine quantité de courant par cycle par seconde (ce qui pourrait être plus "naturellement" exprimé en charge par cycle). Par exemple, une puce peut avoir un courant de repos de 10uA, plus un courant de 0,1 mA / MHz (100pC / cycle). L'exécution d'une telle puce à 10 MHz donnerait un courant de 1,01 mA. Le faire fonctionner à 1 MHz donnerait 0,11 mA. L'exécuter à 100KHz donnerait 0,02mA. Fonctionnant à 1Hz, le rendement est 0.0100001mA. D'autre part, la puce pourrait offrir un courant de veille de 1uA. Généralement, entrer en mode veille éteindra complètement les zones de la puce qui ne serviront à rien pendant son sommeil, évitant ainsi toute fuite de courant de telles zones. Dans certains cas, cela réduira également la tension dans des zones telles que les fichiers de registre à un niveau où les fichiers de registre peuvent contenir leur contenu, mais ne doivent pas y accéder très rapidement (étant donné qu’ils ne seront pas du tout accessibles, la vitesse d’accès importe peu) .
Certains anciens microprocesseurs, microcontrôleurs et autres périphériques présentaient des durées maximales d'horloge haute et / ou basse. Ces processeurs utilisaient une logique dynamique pour économiser les circuits. Comme exemple de logique dynamique, considérons un registre à décalage: un bit de registre statique typique nécessite un circuit à deux transistors pour conserver la valeur, tandis qu'un bit de registre dynamique conserve la valeur sur la grille d'un transistor de lecture. Un registre à décalage dynamique à deux phases peut être réalisé en NMOS en utilisant quatre NFET et deux résistances par bit. Un registre à décalage statique nécessiterait huit NFET et quatre résistances par bit. Les approches logiques dynamiques ne sont pas aussi courantes aujourd'hui. Dans les années 1970, la capacité de grille était importante et il n'y avait pas moyen de s'en débarrasser. Il n'y avait donc aucune raison particulière de ne pas en profiter. Aujourd'hui, La capacité de grille est généralement beaucoup plus faible et les fabricants de puces essaient activement de la réduire davantage. Pour que la logique dynamique fonctionne de manière fiable, il faudrait souvent travailler délibérément pour augmenter la capacité de la grille. Dans la plupart des cas, la zone de puce supplémentaire nécessaire pour augmenter la capacité pourrait être utilisée de manière tout aussi efficace pour ajouter davantage de transistors, de manière à rendre la capacité inutile.