Wieso gibt es die Taktfrequenz Mhz (IT)?

8 Antworten

 wie viele Millisekunden der RAM oder Prozessor braucht, um einen Befehl weiterzuleiten/abzuarbeiten

Das ist falsch. Die RAM-Timings (CL, tRCD, tRP und tRAS) geben nicht die Millisekunden, sondern die Zyklen an, die für die entsprechende Aktion benötigt werden.

Beispiel:

3200 MHz RAM CL16 -> Latenzzeit = (1 / 3.2e9) * 16 = 5 ns

3600 MHz RAM CL16 -> Latenzzeit = (1 / 3.6e9) * 16 = 4,444 ns

Der 3600 MHz RAM antwortet also trotz "gleicher" Latency schneller als der 3200 MHz-RAM.

Aber die Antwortzeit ist ja nicht alles. Die sagt ja nur aus, wann die Datenübertragung beginnt, aber nicht, wie viele Daten übertragen werden können. Das ergibt sich aus der Bandbreite und dem Takt. Daher sind immer beide Angaben wichtige, vor allem eben, weil die Timings ohne Angabe eines Taktes keine Bedeutung haben.

Woher ich das weiß:Hobby – Up-to-date dank PCGH-Abo und vielen anderen Quellen

Taktfrequenz ist sozusagen der Dirigent, der ein Orchester "synchronisiert". Eine CPU besteht aus vielen Elementen wie Rechenewerken, Registern usw. Es gibt Befehle, die benötigen mehr Takte als andere. Wenn z. B. addiert werden soll, müssen die zu addierenden Werte in Register geladen werden, von dort in der Recheneinheit addiert werden, das Ergebnis dann wieder in ein Register abgelegt werden. Somit benötigt der Addierbefehl schon einige Takte. Die Taktfrequenz ist also nicht einfach Anzahl Rechenoperationen, dafür gibt es andere Maßzahlen.

Update: Hier interessante Zusammenhänge zum Thema:

https://de.wikipedia.org/wiki/Instruktionen_pro_Sekunde

Update2: In der Tabelle sieht man auch sehr gut, wie sich das Verhältnis von MIPS und Taktfrequenz durch raffinierte CPU-Architektur im Laufe der Jahre angenähert hat, da sieht man, dass Taktfrequenz allein nicht maßgeblich ist.

Nicht ganz richtig.

Die CAS Latenz ist vom RAM und gibt an wie viele Taktzyklen gewartet wird bevor die Daten abgerufen werden können.

Die Taktfrequenz gibt an wie viel Datendurchsatz möglich ist.

Wenn du zb 3200mts RAM (Megatransfers pro sek) hast welcher dann eigentlich nur mit 1600mhz läuft und du eine cl von 14 hast kannst du nach 1000/1600 *14 = 8,75ms deine Daten Abrufen.

Da der Prozessor mehrere Daten auf einmal anfragen kann kannst du dann über den Datenbus der halt mit 1600mhz/3200mts läuft dann mit maximal rund 51200mb/s die Daten abholen.

Die Taktfrequenz vom Prozessor selbst ist dann natürlich wieschnell der Prozessor Aufgaben erledigen kann.


CatsEyes  28.12.2022, 18:27

Die meisten Befehle benötigen aber mehrere Takte, nicht vergessen bei der Rechnung... Und RAM-Takt ist nicht identisch mit CPU-Takt.

0
ILM321  28.12.2022, 18:30
@CatsEyes

Ramtakt bleibt immer gleich, da gibt's nur verschiedene Timings aber takt ist immer gleich.

0
CatsEyes  28.12.2022, 18:40
@ILM321

Ja, aber nicht unbedingt derselbe wie der CPU-Takt.

1

Ein Zugriff auf eine bestimmte RAM-Adresse benötigt mehrere Taktzyklen. Die CL gibt an, wie viele Taktzyklen das sind.

Die wird nicht in Millisekunden angegeben, sondern sie stellt die Anzahl der benötigten Taktzyklen dar.

Mit jedem Takt wird eine Information verarbeitet.

Mal als Vergleich ein weniger komplexer Baustein, zum Beispiel ein D-Flip-Flop, schiebt eine logische 1 oder 0 pro Takt Frequenz weiter und speichert diese ab, um die 1 oder 0 zu verarbeiten.

Schaut man sich Mikroprozessoren heutzutage an, takten diese allerdings nicht nur mit 1hz, sondern z. B. 4,5GHz, was wiederum sehr viel mehr Informationen sind, die pro Sekunde verarbeitet werden können. Um genau zu sein, 4500000000.


CatsEyes  28.12.2022, 18:29

Die meisten Befehle benötigen aber mehrere Takte, nicht vergessen bei der Rechnung...

0
Darktheus  28.12.2022, 18:35
@CatsEyes

Klar, ging ja jetzt um logisch 0 1 was ein sehr simpler Befehl ist, aber das Prinzip zeigt.

0