Ich möchte mein Verständnis überprüfen, das ich aus mehreren Quellen zusammengetragen habe, von denen viele veraltet zu sein scheinen und viele widersprüchlich sind.
Meines Wissens nach gibt es in einem modernen PC nur EINE UHR, die so ziemlich alles regelt. Es ist ein Oszillator, der von der Schwingung eines Quarzkristalls abhängt und eine Frequenz von 100 MHz und eine Frequenz von 133 MHz ausgibt. Dieser Taktgeber/Oszillator befindet sich in einem Chip auf der Hauptplatine (dem „Chipsatz“), NICHT INNERHALB DER CPU, wie einige Literatur vermuten lässt. Es gibt jedoch Multiplikatorschaltungen INNERHALB DER CPU, die das 100-MHz-Signal (etwa 35-mal auf 3,4 GHz) erhöhen können, um die Programmausführung zu steuern. Das 133-MHz-Signal wird vom selben Takt an den Speichercontroller geliefert und hochmultipliziert (etwa 16-fach), um die Geschwindigkeit des Speicherbusses zu regulieren. Der Speichercontroller befindet sich ebenfalls in der CPU. Es gibt keinen Front-Side-Bus mehr.
Könnten Sie mir bitte mitteilen, ob diese Informationen korrekt sind, insbesondere die Position der Uhr und dass es nur eine Uhr gibt?
Es gibt eine große Anzahl von Uhren und Uhrenquellen, nein, es gibt nicht nur eine Uhr.
Ja, der x86 wird sehr wahrscheinlich von einer Referenzuhr mit eingebauten PLLs angetrieben, das bedeutet nicht, dass die Innenseiten nur auf der einen Uhr laufen, es gibt wahrscheinlich besonders mit den aktuellen VIELE Uhren, die von dieser Uhr abgeleitet sind.
Der PCIe kann seinen eigenen Referenztakt haben oder einen erzeugen, heutzutage ist der PCIe-Root-Komplex Teil des Hauptprozessorpakets und kein separater Chip.
Das Netzwerk hat im Allgemeinen einen eigenen Referenztakt, also einen weiteren Oszillator plus Plls im Inneren. Die WLAN-Module werden wie Sicherheitsgurte und Airbags für eine sehr kurze Liste von Lieferanten gekauft, damit sie ihre eigenen Taktquellen haben.
Ihr PC ist voll von Mikrocontrollern und anderen ähnlichen eingebetteten Geräten, die in anderen Teilen versteckt sind (Netzwerkphysik, Batteriemanagement, Tastatur, Maus usw. usw. usw.). Die meisten davon haben ihre eigenen Uhren und manchmal PLLs. High-End-Mikrocontroller können / werden von mehr als einem für eine RTC betrieben. Beispielsweise kann die Hauptuhr multipliziert werden, aber die Unterabschnitte des Chips werden von Divisionen davon betrieben, und wenn Sie Ethernet oder eine andere ähnliche Schnittstelle haben, gibt es wahrscheinlich eine andere Oszillator dafür, aber es hängt von der Implementierung ab.
Wie bereits erwähnt, hat die RTC idealerweise einen eigenen Oszillator plus Schaltungen, um alles temperaturmäßig oder anders stabil zu halten, damit die Referenzuhr nicht so stark driftet.
Wenn Sie nun glauben möchten, dass das Lehrbuch nicht die reale Welt oder eine Teilmenge der prozessorbasierten Produkte der realen Welt ist, können Sie nicht alle großen Stifte oder Kugeln ohne Probleme mit hoher Geschwindigkeit haben, und Sie können die Innenseiten viel schneller machen als die Außenseite und immer weiter, also ist die typische Lösung eine Referenzuhr, bei der 100 MHz keine Seltenheit sind, aber es gibt auch andere, da Oszillatoren so teuer sind. Dann multiplizieren Sie das intern bis zu dem, was der Chip ausführen kann oder Ihre Stromversorgung oder Kühlung unterstützen kann usw., und idealerweise betreiben Sie den Chip von Divisionen dieser Uhr. Kein Grund, die uart-Logik beispielsweise mit 4 GHz auszuführen, das ist nur eine Energieverschwendung, also würden Sie intern einen Peripheriebus entwerfen, der langsamer mit einer Taktdomänengrenze getaktet wird. Wenn es einfach ein Teiler der Hauptuhr ist, dann ist es viel einfacher, damit umzugehen, aber manchmal haben Sie unterschiedliche Plls. (Oh, das erinnert mich daran, dass der DRAM-Controller möglicherweise die Hauptuhr verwendet, aber wahrscheinlich seine eigenen Plls hat, habe Designs mit vielen von ihnen gesehen).
Und Sie entwickeln sich zu dem, was Leute wie Intel verwenden, wo sicherlich die Stromversorgung des Chips ständig angepasst werden kann, um den Verbrauch zu minimieren (noch ein weiterer Prozessor im Chip, der Code ausführt, um dies unabhängig vom x86 zu verwalten), und ich würde auch dynamische Taktgeschwindigkeitsfunktionen erwarten die es in irgendeiner Form schon gab, aber wahrscheinlich immer besser werden. aber Sie können zum Beispiel nicht mit den USB-Uhren herumspielen, also müssen Sie das festhalten, Dram sollten Sie festhalten. PCIe hat Spezifikationen, Video usw.
Ja, auf der Basis eines isolierten Moduls ist es nicht ungewöhnlich, einen Referenztakt und einen PLL im Inneren zu haben, und die Interna laufen von einem Takt oder verschiedenen Unterteilungen des PLL oder des Haupt-/Schnelltakts.
PCs haben VIELE Prozessoren und VIELE separate Uhren, einige sind kristallbasiert und andere nicht. Und es müsste mehr als ein Kristall vorhanden sein, um alles zu unterstützen, was dort vor sich geht, und es wäre unmöglich, einen Kristall auf die ganze Kiste aufzufächern.
Es gibt mehrere Uhren:
Die RTC (manchmal auch „CMOS“ genannt, da sie früher Teil des batteriegepufferten RAM war) ist eine kleine, stromsparende Zeitnehmungsuhr, die auf einem Niederfrequenzuhrquarz läuft. Wenn das System ausgeschaltet ist, wird diese Uhr mit einer kleinen Batterie wie einer Knopfzelle oder in einigen Fällen einem Superkondensator am Leben erhalten. Diese definiert die Uhrzeit beim Systemstart und auch dann, wenn keine verlässliche externe Zeitreferenz verfügbar ist.
Die Systemreferenzuhr ist ein Kristall oder Oszillator, der den Motherboard-Chipsatz und die CPU speist. Typischerweise hat der Kristall mehrere zehn MHz; er kann für die Verteilung hochmultipliziert werden (Details sind chipsatzabhängig). Dieser Takt treibt wiederum die verschiedenen PLLs an, die den Prozessor-, Speicher- und E/A-Takt definieren. Die CPU basiert ihren Zeittakt auf dieser Uhr, wenn sie läuft, und synchronisiert zu bestimmten Zeiten ihre berechnete Wanduhrzeit mit einem bekanntermaßen guten Wert von einer externen Quelle.
Schließlich erhalten Computer, die mit einem Netzwerk verbunden sind, die Wanduhrzeit von einer nachvollziehbaren Quelle, die häufig ein Protokoll namens NTP oder Network Time Protocol verwendet. Mehr dazu hier: http://www.ntp.org/
Weder die RTC- noch die Systemreferenzuhren sind besonders genau und weisen typische Kristallfrequenzfehler im Bereich von 10 bis 50 ppm auf. NTP stellt einen maßgeblichen Atomuhr-Referenzstandard bereit, der nicht nur zur Korrektur der Drift der Systemuhr verwendet wird, sondern auch zur Aktualisierung der RTC.
In einem Mikrocontroller haben Sie wahrscheinlich nur eine Uhr und normalerweise eine Reihe von PLLs, um abgeleitete Uhren zu erhalten. In einem PC haben Sie wahrscheinlich mehrere Uhren.
Typischerweise gibt es:
Darüber hinaus können andere Peripheriegeräte ihre eigenen Uhren haben, insbesondere wenn ihre zeitlichen Beschränkungen von der CPU-Uhr abweichen, wenn sie sich auf Zusatzgeräten/-karten befinden oder wenn sie laufen müssen, während die CPU-Uhr im Leerlauf ist.
Nur ich
Gesund
Elliot Alderson
Benutzer1850479
Edelstahlratte
Fredled
Heiße Licks