
Ich habe einen Artikel gelesenTaktfrequenzaus Wikipedia, wo es heißt:
Die Taktrate bezieht sich normalerweise auf die Frequenz, mit der eine CPU läuft. Die Taktrate einer CPU wird normalerweise durch die Frequenz eines Oszillatorkristalls bestimmt.
Ich frage mich also, wenn ich eine Taktrate (oder Prozessorgeschwindigkeit?) von 1 GHz habe, wie hoch wird dann die Frequenz des Oszillatorkristalls sein? Sie kann nicht einfach dieselbe sein wie die Taktrate?
Antwort1
Quarzkristalle können mit unterschiedlichen Frequenzen schwingen.
Quarzkristalle werden für Frequenzen von einigen zehn Kilohertz bis zu einigen zehn Megahertz hergestellt.
Daher wählen Motherboard-Hersteller einen Kristall aus, der mit einer geeigneten Frequenz schwingt, und leiten diesen dann durchetwas Elektronikum es auf die gewünschte Taktrate für die CPU zu multiplizieren.
Es gibt einen Abschnitt im Wikipedia-Artikel, der diehäufig verwendete Kristallfrequenzen
Antwort2
Nein, ist es nicht. Der Kristall ist ein Zeitmechanismus. Die CPU läuft synchron mit dem Kristall. Ein einfaches Beispiel ist der allseits beliebteArduinoPrototyping-Bausatz
Es läuft mit 16mHz
(Mega; einer ist 8mHz
), aber Sie können es auf übertakten 32mHz
oder auf untertakten8mhZ
Beim Mega soll der Kristall 16mhz
die Taktfrequenz erreichen, weil er dafür günstig genug ist. Aber um ihn zu übertakten, sagt man Kristallgeschwindigkeit * 2 = 32mhz
.
Jeder CPU-Zyklus entspricht also 32mhz
0,5 Quarzschwingungen.
Die Grundlagen zu verstehen und auf zu kommen 1ghz
, 2ghz
ist eine viel komplexere Angelegenheit. Um solche Taktraten zu erreichen, müssen andere Zwischenkomponenten hergestellt werden. Deshalb können Sie in Ihrem BIOS Multiplikatoren einstellen, um die Taktrate Ihres Prozessors einzustellen.
Und auf dieser Ebene multiplizieren Sie die Busgeschwindigkeit und nicht den Kristall. Die tatsächliche Busgeschwindigkeit wird durch die Komponenten bestimmt, die Kristall enthalten. Das könnte wahrscheinlich 32khz
oder 32mhz
(alter ISA-Bus) oder irgendetwas anderes sein, je nachdem, welchen Bus Sie benötigen.
RAM-Bus, Grafik-Bus und CPU-Bus laufen alle mit ihrer jeweiligen Zyklusgeschwindigkeit.
Bei Motherboards ist es viel komplexer als in den Beispielen, die ich verwendet habe.
Antwort3
Der Oszillator ist einfach eine sehr konstante Komponente (normalerweise ein Quarzkristall mit angeschlossener Elektronik), die eine Art Zeitsignal ausgibt, das das System verwenden kann. Angenommen, der Oszillator „schwingt“ alle 20 ms (völlig willkürlich), dann weiß das System genau, wie lang 20 ms sind, und kann daraus die Berechnungen durchführen.
So führt beispielsweise eine 1-GHz-CPU 10.000.00000 Zyklen pro Sekunde aus. Wenn Sie dies nun mit dem Oszillator synchronisieren möchten, würden Sie das Ganze herunterteilen. 20 ms sind also 0,02 Sekunden. Damit die CPU weiß, dass sie, um eine Taktrate von 1 GHz beizubehalten, bei jedem „ticken“ des Oszillators 2.000.000 (20 Mio.) Zyklen ausführen muss.