Większość współczesnych konstrukcji mikrokontrolerów będzie działać z dowolnym wzorcem na wejściu zegara, pod warunkiem, że żaden wysoki impuls nie jest poniżej określonej minimalnej długości, żaden niski impuls nie jest poniżej określonej minimalnej długości i nie ma niskiej-wysokiej-niskiej lub wysokiej-niskiej-wysokiej para impulsów jest poniżej określonej długości. Zasadniczo dzieje się tak, że po wykonaniu przez układ wszystkich działań związanych z konkretnym zboczem zegara, układ znajdzie się w stanie, w którym nie robi nic, tylko czeka na następne zbocze zegara. Jeśli następna krawędź zegara nie pojawi się przez dziesięć dni, wtedy (chyba że chip ma jakiś zewnętrzny watchdog), chip będzie w takim samym stanie, jak gdyby krawędź przybyła w momencie, gdy chip był na nią gotowy.
Należy zauważyć, że na ogół wstrzymanie zegara na mikrokontrolerze znacznie zmniejszy pobór prądu, ale nie tak bardzo, jak przy użyciu funkcji „uśpienia”. Zużycie prądu przez większość mikrokontrolerów w trybie „run” można dość dobrze oszacować jako stały prąd spoczynkowy powiększony o pewną ilość prądu na cykl na sekundę (co może być bardziej „naturalnie” wyrażone jako ładunek na cykl). Na przykład układ może mieć prąd spoczynkowy 10uA plus prąd 0,1mA / MHz (100pC / cykl). Uruchomienie takiego układu przy 10 MHz dałoby prąd o wartości 1,01 mA. Uruchomienie go z częstotliwością 1 MHz dałoby 0,11 mA. Uruchomienie go przy 100 kHz dałoby 0,02 mA. Praca z częstotliwością 1 Hz woudl daje 0,0100001 mA. Z drugiej strony układ może oferować prąd uśpienia 1uA. Ogólnie, przejście w tryb uśpienia całkowicie wyłączy obszary mikroukładu, które nie będą robić nic pożytecznego, gdy mikroprocesor śpi, unikając w ten sposób prądu upływowego, jaki mogą mieć takie obszary. W niektórych przypadkach spowoduje to również zmniejszenie napięcia w obszarach takich jak pliki rejestrów do poziomu, w którym pliki rejestrów mogą przechowywać ich zawartość, ale nie uzyskują do nich dostępu bardzo szybko (ponieważ w ogóle nie będą one dostępne, prędkość dostępu nie ma znaczenia) .
Niektóre starsze mikroprocesory, mikrokontrolery i inne urządzenia miały maksymalne czasy taktowania i / lub czas taktowania. Takie procesory korzystały z dynamicznej logiki, aby oszczędzać obwody. Jako przykład logiki dynamicznej rozważmy rejestr przesuwny: typowy bit rejestru statycznego wymaga wartości dwóch tranzystorów, aby utrzymać wartość, podczas gdy bit rejestru dynamicznego przechowuje wartość na bramce tranzystora odczytu. Dwufazowy taktowany dynamiczny rejestr przesuwny może być zrealizowany w NMOS przy użyciu czterech NFET i dwóch rezystorów na bit. Statyczny rejestr przesuwny wymagałby ośmiu NFET i czterech rezystorów na bit. Dynamiczne podejścia logiczne nie są dziś tak powszechne. W latach siedemdziesiątych pojemność bramki była znaczna i nie można się jej było pozbyć. Nie było zatem żadnego konkretnego powodu, aby z tego nie skorzystać. Dzisiaj, pojemność bramki jest na ogół znacznie niższa, a producenci układów aktywnie starają się ją jeszcze bardziej zmniejszyć. Niezawodne działanie dynamicznej logiki często wymagałoby celowej pracy w celu zwiększenia pojemności bramki. W większości przypadków dodatkowy obszar układu potrzebny do zwiększenia pojemności może być równie skutecznie wykorzystany do dodania większej liczby tranzystorów, aby uczynić pojemność niepotrzebną.