Ich möchte fragen, was passiert, wenn ich beispielsweise 100 MHz als Taktfrequenz für eine MCU einstelle, die mit einer maximalen Geschwindigkeit von 16 MHz arbeiten kann. Warum funktioniert es nicht?
Wenn der Chip ausreichend überdimensioniert ist, könnte es funktionieren.
Diese Faktoren werden sich unter Berücksichtigung physikalischer, analoger und digitaler Faktoren dagegen verschwören:
Es wird das Timing für einen nicht einhalten. Alle Pfade durch die Schaltkreise des Chips sind so ausgelegt, dass sie mit einer bestimmten Geschwindigkeit fehlerfrei laufen. Alles ist zeitlich abgestimmt, um zusammenzuarbeiten, es ist Teil des Entwerfens eines Chips. Wenn Sie diese Geschwindigkeit überschreiten, verletzen Sie diese Timings und beginnen, Fehler zu machen.
Wenn Sie zum Beispiel viel Zeit hatten, damit ein Signal vor der nächsten Uhr auf 16 MHz hoch geht, haben Sie viel weniger Zeit, wenn Ihre nächste Uhr auf 100 MHz kommt.
Eine andere Sache, an die man denken sollte, ist Hitze. Ihr Paket ist auf bestimmte Thermiken ausgelegt. Da Ihre erhöhte Taktrate diese Leistungsrate zuletzt drückt, riskieren Sie auch Schaden.
Das ist sowieso eine breite Art, es auszudrücken.
Typische digitale Hochgeschwindigkeitsschaltungen bestehen aus getakteten Registern und ungetakteter kombinatorischer Logik. Wenn sich die Registerausgänge ändern, berechnet die kombinatorische Logik den nächsten Wert der getakteten Register. Die kombinatorische Logik braucht einige Zeit, um ihren neuen korrekten Zustand zu erreichen. Sie müssen also zwischen den Taktflanken eine gewisse Zeit verstreichen lassen, damit dieser Vorgang korrekt abgeschlossen werden kann. Wenn Sie einen Prozessor übertakten, besteht die Gefahr, dass die kombinatorische Logik nicht genug Zeit hat, um ihren korrekten Zustand zu erreichen, und so der alte Wert in einem Register gespeichert wird. Dies führt zu einem undefinierten und fehlerhaften Verhalten des Prozessors. Berechnungsergebnisse können falsch sein. Der Programmfluss kann zu einer unvorhersehbaren und falschen Adresse springen. Kurz gesagt, wenn Sie bis zu dem Punkt übertakten, an dem der Prozessor nicht mehr funktioniert, es wird wahrscheinlich keine ordnungsgemäße oder behebbare Fehlfunktion sein. Der Ausdruck "Timing nicht erfüllt" bedeutet im Grunde, dass die kombinatorische Logik ihren endgültigen stabilen Zustand nicht vor der nächsten Taktflanke erreichen wird.
Dwayne Reid