Was passiert, wenn der Taktzyklus in einem Prozessor durch eine konstante Hochspannung ersetzt wird?

Würden sich die Daten in Registern mit Lichtgeschwindigkeit ändern und möglicherweise instabil/undefiniert werden, oder würde der Prozessor den Zustand überhaupt nicht mehr ändern?

Dieser Beitrag sagt :

Um allen Gattern Zeit zu geben, den Zustand der gesamten Kette zu ändern, verwenden wir eine Uhr. Der Takt ist eine Eingabe an die CPU, die zwischen 0 und 1 umschaltet (Signal wird niedrig, Signal wird hoch, Signal wird niedrig usw.), die die CPU antreibt, um Operationen auszuführen.

Dieser Artikel sagt :

Wenn die Taktrate auf 100 GHz erhöht wird, beträgt ein Zyklus 0,01 Nanosekunden ... Was passiert, wenn diese Größenbeschränkung verletzt wird? Was passiert, ist, dass sich bestimmte Teile Ihrer Schaltung im "aktuellen" Zyklus befinden und andere Teile im "vorherigen" Zyklus. Es wird wirklich schwierig, mit solchen verteilten Systemen umzugehen.

Aber dann sagt dieser Beitrag :

es wird einfach aufhören

Ich bin also verwirrt über das Ergebnis.

Wenn ich mir einen einfachen timer registerAnschluss an einen Addierer vorstelle und bei jedem Taktzyklus seine Daten verarbeitet werden ++1, bedeutet ein konstantes Hoch nicht, dass die Registerdaten mit Lichtgeschwindigkeit durch den Addierer und zurück zu sich selbst schleifen und sich auf unbestimmte Zeit addieren? anstatt aufzuhören?

Was genau passiert, hängt davon ab, ob Sie es mit einem dynamischen oder statischen Prozessor zu tun haben, aber so oder so wird es nichts Nützliches tun.
light speedist kein Maß für ein Zeitintervall, es sei denn, es wird eine Entfernung angegeben
Wenn Sie die Uhr anhalten, stoppen Sie den Prozessor und alles andere, was von dieser Uhr abhängt.
@ user1850479 Dies ist der Teil, den ich versuche, genauer zu verstehen. In was wird die Uhr (0 oder 1) eingespeist? Ist es eine Eingabe für Gates, um möglicherweise ihren Zustand basierend auf ihren anderen Eingaben zu ändern?
Sie können sich die Uhr als eine Eingabe für Gates vorstellen, die ihnen mitteilt, dass es Zeit für eine Aktualisierung ist. Wenn Sie aufhören, ihnen zu sagen, dass sie aktualisieren sollen, werden sie nichts tun.
Muss der Versuchung widerstehen, mit einem Wort „Nichts“ zu antworten.
Eine wirklich gute (wenn auch sehr langatmige) Erklärung der Grundlagen, wie die Uhr eine digitale Schaltung antreibt, findet sich in Charles Petzolds Buch Code: The Hidden Language of Computer Hardware and Software von 1999. Ich empfehle dieses Buch sehr, wenn Sie lernen möchten, wie Es funktioniert alles vom ersten Prinzip an.
Es ist durchaus möglich, ein asynchrones sequentielles digitales System mit Handshaking zwischen Subsystemen zu erstellen. Es wird keine Hauptuhr benötigt. Es ist jedoch normalerweise langsamer und komplizierter als die Verwendung einer Hauptuhr, daher ist es eine selten verwendete Technik.
Echte CPUs wie die in Ihrem Desktop stoppen die Uhr ständig bei im Leerlauf befindlichen Kernen. Es ist eine sehr verbreitete Energiesparfunktion.

Antworten (5)

Ihre Zweifel ergeben sich aus einem mangelnden Verständnis der Grundlagen synchroner sequentieller Logiknetzwerke , für die moderne CPUs und verwandte Basisblöcke wie Zähler nur bestimmte Beispiele sind.

Wie jemand anderes bereits darauf hingewiesen hat, können solche Netzwerke ihren Zustand nur als Folge einer Taktflanke ändern, dh eines Taktsignalübergangs.

Ich schlage vor, dass Sie das grundlegende Verhalten von flankengetriggerten Flip-Flops (dh statischer 1-Bit-Speicher, etwas vereinfachend :-) und andere grundlegende Konzepte zu synchronen Netzwerk-Timing-Anforderungen wie Setup-Zeit , Haltezeit und Laufzeitverzögerung untersuchen .

BEARBEITEN (Um einige Kommentare von OP @Dan anzugehen)

  • Sie erwähnen immer wieder die "Lichtgeschwindigkeit", aber Sie sollten diesen Begriff wirklich aus Ihrem System entfernen.

    Lichtgeschwindigkeit ist eine "Geschwindigkeit" im physikalischen Sinne, also ein Verhältnis von Raum zu Zeit. Geschwindigkeit beschreibt, wie schnell sich physische Körper bewegen. In der digitalen Logik sprechen wir von Verarbeitungsgeschwindigkeit , dh wie viele Bits pro Sekunde verarbeitet werden.

    Die Beziehung zwischen den beiden ist überhaupt nicht trivial (ein Haufen Ladungen, die sich bewegen, ist nicht unbedingt dasselbe wie ein Haufen Bits, die sich "bewegen").

  • Asynchrone (dh „taktlose“) Logik ist theoretisch schneller, da Geräte reagieren können, ohne auf die Taktflanke zu warten. Das bedeutet nicht, dass das einzelne Gerät „unendlich“ schnell ist. Mit der gleichen Technologie und der gleichen Schaltungskomplexität spart Ihnen das Weglassen der Uhr nur die Zeit, die einige der getakteten Geräte verschwenden, wenn sie auf die Taktflanke warten, wenn ihre Eingänge bereits "bereit" sind. Dies erhöht nicht die Geschwindigkeit, mit der ein einzelner Transistor den Zustand wechselt. Sie werden also immer noch Ausbreitungsverzögerungen haben. ( https://en.wikipedia.org/wiki/Asynchronous_circuit#Asynchronous_circuits ).

    OTOH, das Entwerfen eines komplexen asynchronen Systems ist ein Timing-Alptraum, da jedes Subsystem jederzeit reagieren kann und Sie dennoch die Anforderungen an die Setup- und Haltezeit erfüllen müssen.Andere Blöcke schalten ihre Ausgänge, da Sie kein Synchronisationssignal haben. Darüber hinaus benötigen Sie immer noch eine Synchronisierung , da einige Aufgaben warten müssen, bis andere abgeschlossen sind. Ohne Taktsignale wird dies viel komplexer.

    Sie könnten dies interessant finden:
    https://en.wikipedia.org/wiki/Asynchronous_circuit#Asynchronous_CPU .

Die Uhr (durch positive oder negative Flanke getriggert) ist also wie ein Ein-Aus-Schalter. Gleich beim Ein- (oder Ausschalten) findet eine Aktion statt und das Ergebnis wird in einem Speicher gespeichert. Der Uhrwert könnte auch verwendet werden, um den Ergebniswert abzuleiten, aber der Hauptpunkt besteht darin, als Ein-/Ausschalter zu fungieren. Und das tut es. Um allen Gattern Zeit zu geben, den Zustand der gesamten Kette zu ändern, verwenden wir eine Uhr . Ich denke, es IST möglich, sequentielle Schaltungen mit Speicher ohne Uhr zu entwerfen, aber es wird schwierig zu entwerfen, da in diesem Beitrag electronic.stackexchange.com/a/66065 steht , also hat der Designer einfach den einfachen Weg genommen?
dh es ist möglich, sequentielle Schaltungen mit Speicher zu entwerfen, die mit Lichtgeschwindigkeit arbeiten (keine Uhren), aber leichter gesagt als getan? Ich weiß, dass kombinatorische Schaltungen (wie ein einfaches ODER-Gatter auf einem Chip) keinen Takt haben und Ihnen nur eine direkte Ausgabe basierend auf der Eingabe geben.
Außerdem könnte der Takt auch die Bewegung von Bits zwischen Schieberegistern antreiben oder in einem Timer verwendet werden. Ich denke, einige davon können ohne Uhr ausgeführt werden, aber wie der obige Link erklärt, wird es kompliziert.
Ja, "asynchrone Logik" ist eine Sache. Nein, es ist keine Lichtgeschwindigkeit: Die Hauptbeschränkung ist die Kapazität, die durch die Drähte und angesteuerten Gates dargestellt wird. Siehe "Elmore-Verzögerung" für ein vereinfachtes Modell. Weitere Informationen zu Async finden Sie unter async.org.uk
Richtig, Ausbreitungsverzögerung ist eine reale Sache, Ausgänge von Gattern setzen sich nicht sofort im Speicher ab, also machen Taktgeber dies alles einfacher, indem sie ihnen Zeit zum Einschwingen geben. Es hilft auch bei anderen Aspekten des Schaltungsdesigns, zB wie Schieberegister arbeiten, indem sie bei jedem Takt Bits "verschieben".
@ pjc50: Ein größeres Problem mit asynchroner Logik ist, dass es keine "nette" Art gibt, Rennbedingungen zu handhaben. Wenn zwei Tasks etwas mit einem gemeinsam genutzten Bus tun müssen, ist es schwer zu vermeiden, dass entweder X auf Y warten muss, selbst wenn X zuerst bereit gewesen wäre, oder dass Y auf X warten muss, selbst wenn Y zuerst bereit gewesen wäre. Durch die Verwendung von synchroner Logik kann sichergestellt werden, dass sowohl X als auch Y darin übereinstimmen, dass Y bereit war, bevor X bereit war.
@Dan Der Begriff "Laufzeitverzögerung" kombiniert zwei Effekte. Es gibt eine Übertragungsleitungsverzögerung, die mit der Lichtgeschwindigkeit zusammenhängt (in dem bestimmten Material, das NICHT mit C identisch ist, der Lichtgeschwindigkeit in einem Vakuum). Und Rampenzeit, die Zeit, die ein Transistorausgang benötigt, um zwischen zwei Spannungen umzuschalten. Normalerweise sind die Schaltungselemente nahe genug beieinander, dass die Anstiegs- und Abfallzeit der dominierende Faktor innerhalb eines Computerprozessors ist. Gehen Sie außerhalb dieses Chips zu einem Kommunikationsnetzwerk, und die Übertragungsleitungseffekte werden sehr wichtig.

Der Takt muss von niedrig nach hoch übergehen und sich in einem regelmäßigen Muster wiederholen.

Es sind diese Übergänge , die Änderungen in der Logik bewirken, nicht der hohe Pegel. Keine Übergänge = keine Logikänderung. Ohne Übergänge funktioniert es also nicht mehr.

Dies schließt "extra hohe" Spannung ein (sie wird wahrscheinlich beschädigt werden).

Wenn nur statische Elemente beteiligt sind, scheint der Betrieb während der gesamten Dauer der Taktentfernung vollständig "einzufrieren". Starten Sie die Uhr neu, und sie wird genau dort fortgesetzt, wo sie aufgehört hat (als ob überhaupt keine Zeit vergangen wäre).

Wenn dynamische Elemente beteiligt sind (wahrscheinlich heute, wie Watchdog-Timer, Interrupt-on-Change, DRAM-Speicheraktualisierung usw.), wird während einer langen Taktpause wahrscheinlich etwas übersehen oder beschädigt. Im Falle eines DRAM-Verlusts ist der aktuell ausgeführte Code nun Müll, sodass der Prozessor in kurzer Zeit einen Fehler macht, wenn er versucht, Müllcode auszuführen.

Es sind die Übergänge der Uhr, die dem Prozessor signalisieren, "den nächsten Schritt zu tun". Der Low-High-Übergang oder -Rand (Legacy) und auch der High-Low-Rand (Modern) tun jetzt beide etwas.

Bei den modernen Prozessoren von heute bedeuten mehrere Kerne mit mehreren Threads, dass jeder Taktzyklus an jeder Taktflanke Hunderte, sogar Tausende von Dingen parallel erledigt .

Taktflanken müssen verwendet werden, da sie sequentiell sind , und diese Flanken müssen durch eine gewisse Zeitspanne getrennt sein, damit sich der "Schritt" vollständig ausbreiten oder abschließen kann, bevor der nächste gestartet wird. "Overclocking" erhöht die Taktrate über den normalen Wert hinaus. Die typische Taktrate beinhaltet eine Sicherheitsmarge, sodass diese meist noch etwas erhöht werden kann. Eine Erhöhung führt dazu, dass der Prozessor härter arbeitet, sodass normalerweise eine leichte Spannungserhöhung erforderlich ist, um den Betrieb aufrechtzuerhalten. Aber eine zu starke Erhöhung der Taktrate wird schließlich diese Schrittzeiten verletzen, insbesondere über alle möglichen Temperaturbereiche.

Aber ich habe ein "Timer"-Beispiel gegeben. Warum sollte es anhalten, anstatt mit Lichtgeschwindigkeit zu arbeiten (und möglicherweise alle seine Daten zu beschädigen und in undefiniertes Verhalten zu geraten). Konstant hoch bedeutet, dass sich die Dinge in einem Kreislauf bewegen.
@Dan: Ein Synchronzähler (wie Sie ihn in Ihrem Timer-Register finden würden) zählt nicht, wenn die Uhr hoch (oder niedrig) ist. Es zählt, wenn eine Taktflanke auftritt (entweder wenn der Takt von niedrig auf hoch oder von hoch auf niedrig übergeht). Andernfalls würde es überhaupt nicht funktionieren - die Uhr bleibt für einen ganzen halben Zyklus hoch und für die andere Hälfte niedrig. Es würde "mit Lichtgeschwindigkeit zählen", wie Sie für die Hälfte des Zyklus sagen.
Eine Operation könnte also an jeder Flanke (hoch oder niedrig) stattfinden, dh die CPU arbeitet nicht nur, wenn sie hoch ist. Der hohe oder niedrige Takt ist ein zusätzlicher Eingang für Latches / Transistoren und ihr Zustand kann sich je nach Art der Gatter, dh AND / OR / NOR usw., an beiden Flanken ändern. Ein konstantes High oder Low bedeutet, dass wir die Operation ausführen und dauerhaft stecken bleiben in diesem Zustand. Ist das alles richtig?
@Dan hat sich über Flip-Flops informiert. Dies sind die Grundbausteine ​​der sequentiellen digitalen Logik. Die Uhr ist ein bisschen wie eine Maschine mit Kurbel. Man kurbelt an der Kurbel und etwas passiert. Kein Kurbeln und nichts passiert.
Ja, in einem idealen Logiksystem mit einer Uhr treten Zustandsänderungen nur an einer Taktflanke auf. Wenn also die Uhr stehen bleibt, bleibt das System für immer in seinem aktuellen Zustand, auch wenn sich die Eingaben ändern. Obwohl viele Systeme asynchrone Rücksetzungen haben, die unabhängig von der Uhr arbeiten.
Richtig, ich beziehe mich auch auf Flip-Flops und größere Komponenten, die daraus bestehen. Ich möchte nur bestätigen, dass Operationen an beiden Kanten stattfinden, hoch oder niedrig (nicht nur hoch). Die Uhr ist kein Schalter zum Aktivieren oder Deaktivieren der Schaltung. Der Takt ist ein Muster aus 0 und 1, das als Eingabe für alle Komponenten verwendet wird. Angenommen, die Uhr ist 1 und ein anderer Eingangszustand in einem Flipflop ist 1, jetzt gibt ein bestimmtes UND-Gatter auch 1 aus, andernfalls gibt es 0 aus (es gibt eines davon entweder hoch oder niedrig aus) und dies geschieht bei jeder hohe und niedrige Impuls, wie dieses Bild: i.imgur.com/8nvLI1Y.png , habe ich recht?
@dan Während die Schaltung, die Sie zeigen, logisch korrekt ist, verstehe ich nicht, wie sie in diesem Zusammenhang gilt. Ihre Schaltung ist eine kombinatorische Verzögerung. Googeln Sie, wie man aus Flip-Flops einen Zähler macht – es gibt zwei grundlegende Techniken.
Entschuldigung für die Verwirrung, das Bild ist nur ein Screenshot aus einem YouTube-Video, das dieses Konzept erklärt, dachte, es könnte hilfreich sein.
@rdtsc Ich suche nach spezifischeren Beispielen als nur clock helps with transitions. Wie macht es das? Die Uhr ist ein kontinuierliches Muster aus 1 und 0. Werden die 1 und 0 als einer ihrer Eingänge in Gatter eingespeist, um möglicherweise ihren Zustand basierend auf ihren anderen Eingängen zu ändern?
Es ist der Übergang von 1 zu 0 und/oder 0 zu 1, der die Arbeit macht. Nur bei eins oder null zu sitzen bedeutet, dass nichts passiert.
@ Dan "in Tore eingespeist": ja .. im Flip-Flop. Keine der anderen kombinatorischen Logiken. Sie können sich ein Flip-Flop als Paar Latches vorstellen, von denen eines in der einen Hälfte des Zyklus und das andere in der anderen aktiviert wird, sodass es seinen Ausgang nur während des Übergangs ändern kann.
@Dan High und Low sind keine Kanten. Übergänge von niedrig nach hoch und von hoch nach niedrig sind Kanten. In Übergängen passiert etwas. Die hohen und niedrigen Zustände selbst sind nur in dem Sinne relevant, dass Sie mindestens zwei Zustände benötigen, um überhaupt Übergänge zu haben!
@Dan Du verfehlst immer noch den Punkt. Die eigentliche Bezeichnung "Uhr" sollte dies verdeutlichen, denn das Auf und Ab der Spannung ist in jeder Hinsicht identisch mit der Hin- und Herbewegung des Pendels einer Uhr. Wenn Sie das Pendel einer Uhr daran hindern, vor und zurück zu gehen, bewegen sich die Zeiger dann weiter, um Sekunden zu zählen? Das tun sie eindeutig nicht. Und die Timer-Elektronik bewegt sich auch nicht weiter, wenn die Spannung nicht mehr hin und her geht.
@Graham Ich habe meine letzten Gedanken dazu unter diesem Kommentar hinzugefügt: electronic.stackexchange.com/a/605734/305610
Da diese Antwort auch dynamische Überlegungen erwähnt, möchte ich hinzufügen, dass CPUs häufig über interne PLLs verfügen, sodass das Anhalten der externen Taktquelle die interne Uhr nicht wirklich stoppt, sondern dazu führt, dass sie stark von der Frequenz abweicht.

Normalerweise mag ich keine Wasseranalogien für Elektrizität, aber...

Die Uhr mit synchroner Logik ist so etwas wie eine Brunnenwasserpumpe. Die Pumpwirkung ist nicht kontinuierlich, sie erfolgt in Schüben. Wenn Sie den Pumpenarm nach oben heben, saugt die Pumpe ein wenig Wasser von unten ein, und wenn Sie den Pumpenarm wieder nach unten drücken, stößt sie dieses Wasser stromaufwärts aus. Bewegen Sie den Pumpenarm wiederholt auf und ab, und er kann ziemlich viel Wasser stromaufwärts bewegen. Stoppen Sie mit dem Arm nach oben, und es passiert nichts mehr. Stoppen Sie mit dem Arm nach unten, und es passiert nichts mehr.

Es gibt auch ein optimales Saugvermögen (dies gilt auch für synchrone Logikschaltungen). Wenn die Pumpe zu langsam pulsiert, verliert sie an Schwung, sodass der Wasserdruck und die Geschwindigkeit nicht ihr volles Potenzial erreichen. Aber pulsieren Sie die Pumpe zu schnell, und das Wasser kann einfach nicht schnell genug in das Laufrad strömen. Die Metapher bricht ein wenig zusammen, weil Schaltkreise keine Viskosität haben ...

In synchronen Schaltungen haben wir sogenannte digitale Schaltungen, die wirklich analoge Schaltungen sind, die vorgeben, den netten sauberen digitalen Designregeln zu folgen. Digitale Schaltungen haben eine Eigenschaft, die als „ Störfestigkeit“ bezeichnet wird": Ein logisch hoher oder logisch niedriger Pegel ist ein Spannungsbereich. Für einen Digitaldesigner gibt es keinen sinnvollen Unterschied zwischen einem logisch hohen Wert von 2,6 V und 2,8 V, solange er sich innerhalb des VIH-Spannungsbereichs des Eingangs befindet behandelt es garantiert als logisch hohen Pegel. Aber die zugrunde liegende Schaltung besteht aus Transistoren, und wenn sie zwischen hohen und niedrigen Pegeln umschaltet, muss sie alle dazwischen liegenden Spannungen durchlaufen. Reale Schaltungen schalten nicht sofort. Also Es ist eine begrenzte Zeitspanne erforderlich, damit sich das Signal auf den richtigen Wert einschwingt.Diese Zeitspanne wird als Ausbreitungsverzögerung bezeichnet. Addieren Sie alle Ausbreitungsverzögerungszeiten aller verschiedenen Elemente der kombinatorischen Logikschaltung, die das Signal durchlaufen muss, und das bestimmt die kürzeste (schnellste) Taktperiode, die die Schaltung tolerieren kann. Der Betrieb mit einer schnelleren Taktgeschwindigkeit lässt der internen Kombinationslogik nicht genügend Zeit, um immer den korrekten Wert zu erreichen. Es hat immer einen gewissen Wert, es ist nur nicht garantiert, dass es der richtige Wert ist, bis die gesamte Ausbreitungsverzögerungszeit verstrichen ist.

Es gibt viele Faktoren, die die erforderliche Ausbreitungsverzögerungszeit bestimmen. Einiges davon hängt von nominalen Designwerten ab, wie der Kapazitätsbelastung und dem Drahtwiderstand und ähnlichen Dingen. Diese Faktoren hängen von den Gesetzen der Physik, der Form und Abmessungen der Materialien und anderen Materialeigenschaften sowie der Temperatur ab; damit wir die Ausbreitungsverzögerung abschätzen können. Bei hergestellten Geräten gibt es jedoch kleine Abweichungen von einer Einheit zur anderen. In den 1970er Jahren waren diese Herstellungstoleranzen nicht so eng wie heute, aber es gibt immer noch einige unvorhersehbare Abweichungen von einem Gerät zum anderen. Dies führte also zu einem Computer-Bastler-Trend namens "Overclocking", nach dem Sie anscheinend sehr genau fragen.

Overclocking-Enthusiasten gingen im Grunde ein kleines Risiko ein, indem sie ihren eigenen PC so modifizierten, dass er mit einer höheren Taktrate lief, zum Beispiel eine 6-MHz-CPU mit 8 MHz. Es ist nicht garantiert, dass es funktioniert. Und es ist auch nicht garantiert, dass es auf offensichtliche Weise fehlschlägt, was schlimmer sein könnte, als wenn es einfach nicht sofort funktioniert. Wenn Sie eine große Simulation ausgeführt haben und ein kleiner unentdeckter Berechnungsfehler aufgetreten ist, der erst auftritt, nachdem eine Reihe großer Berechnungen durchgeführt wurden und ein Hotspot aufgetreten ist, wissen Sie möglicherweise nicht, dass Sie ein schlechtes Ergebnis erhalten haben. Auf der anderen Seite, wenn Sie es nur zum Spielen verwenden, schadet es nicht. Aber selbst ein Hack wie Overclocking muss immer noch einen sich ständig ändernden Takteingang liefern. Einfach den Clock-Eingang immer-low oder immer-high zu verbinden ist keine Zauberei,

Hier ist ein wenig detaillierter darüber, wofür das Taktsignal tatsächlich verwendet wird. Die einfachste Idee einer synchronen Logikschaltung wäre eine endliche Zustandsmaschine, die aus einigen "D"-Flip-Flops und einigen Logikgattern besteht. Alle D-Flip-Flops empfangen das Taktsignal. Die Ausgänge der Flip-Flops treiben die Eingänge des Labyrinths aus Logikgattern an, und die Ausgänge aus dem Wirrwarr der Logik werden in die Eingänge der D-Flip-Flops zurückgeführt. Es gibt also eine Art Rückkopplungsschleife, aber die Flip-Flops unterbrechen diese Rückkopplungsschleife, indem sie eine Zeitdisziplin auferlegen. Das Flip-Flop ignoriert so ziemlich alles, was an seinem Dateneingang passiert, bis kurz vor der steigenden Flanke des Takts, und dann werden plötzlich die Ausgänge geändert, um mit dem Wert der Eingänge übereinzustimmen. Dies geschieht sehr schnell, im Idealfall ist es so, als würde man einen Schnappschuss der Eingabe machen und diesen Wert für den Rest des Taktzyklus kontinuierlich steuern. Wenn das Flip-Flop seine Ausgänge kontinuierlich aktualisieren würde, um mit seinen Eingängen übereinzustimmen, solange der Takteingang hoch war, wäre das kein Flip-Flop; es wäre ein transparenter Riegel. Und wir brauchen Flip-Flops, keine transparenten Latches, um Zustandsmaschinen zu bauen.Es gibt keine Änderung an der fallenden Flanke der Uhr. Schließlich bestimmt die kombinatorische Logik einen neuen Wert für die Flip-Flop-Eingänge. Aber die Maschine "weiß" nur, dass der neue Wert angekommen ist, ist, dass die steigende Flanke der Uhr auftritt. Das treibt den Prozess der Aktualisierung des Registerwerts an, sodass der Rest der Logik mit der Berechnung des nächsten Schritts beginnen kann. Dies ist das grundlegende Funktionsprinzip aller endlichen Zustandsmaschinen und aller anderen synchronen Logik.

Die Uhr synchronisiert den Betrieb aller inneren Komponenten jeder CPU. Wenn es aufhört (oder konstant hoch wird), sollte die CPU einfach auch aufhören. Mindestens 8051 Mikrocontroller verhält sich so. Es wird die CPU definitiv nicht "übertakten" (auch bekannt als es wird nicht so schnell wie möglich arbeiten). Alle unangenehmen Nebeneffekte wie Löschen/Ändern von Registern, undefinierter Status usw. können ebenfalls auftreten.

Uhr angehalten: Wenn die Register und die Logik statisch sind, hält die Maschine ihren Zustand. Wenn sie dynamisch sind, wird der Zustand schließlich beschädigt oder geht verloren.

(Dynamische Logik wird in einigen Architekturen verwendet, um die Fläche zu reduzieren. Wie DRAM muss es zyklisch durchlaufen werden, um seinen Zustand zu aktualisieren. Dies war in der NMOS-Ära häufiger, obwohl es immer noch in CMOS verwendet wird.)

Die Uhr läuft über die Maschinengrenzen hinaus: Instabiler Betrieb, da die Einrichtungszeiten der Flip-Flops nicht eingehalten werden, sodass ihr Zustand nicht vorhersehbar ist.

Das grundlegende Zyklus-Timing muss nicht geringer sein als der Worst-Case-Flop-Clock-to-Output + Routing-Verzögerung + Setup zur nächsten Flop-Stufe.

Es gibt auch eine gewisse Einschränkung bei hohen und niedrigen Taktraten, da Flops aus Latches bestehen, die auf entgegengesetzten Taktpegeln aktiviert werden: Sie benötigen eine minimale Impulszeit, um sich auszubreiten.