Seite 1 von 1

Rechner-Taktfrequenz ermitteln

Verfasst: 09.10.2009, 11:35
von TomCat
Hallo,

weiß jemand, wie man die Taktfrequenz eines Rechners bestimmen kann? Ich brauche das für exakte Zeitmessungen.
Den Performancecouter kann man ja mit dem ASM-Befehl: RDTSC auslesen. Leider zählt dieser ja mit der Rechner-Taktfrequenz hoch. D.H. je nach Rechner unterschiedlich schnell. Ich hab mir bis dato ne eigene Funktion gebastelt, um die Frequenz zu bestimmen. Aber gibts einen Befehl oder Methode, diese direkt zu erhalten?

ciao,
TomCat

Re: Rechner-Taktfrequenz ermitteln

Verfasst: 09.10.2009, 11:41
von Krishty
Dir ist schon klar, dass RDTSC mit Multi-Core-Prozessoren oder Power-Management Wurst geben kann (und wird)?

Gruß, Ky

Re: Rechner-Taktfrequenz ermitteln

Verfasst: 09.10.2009, 11:48
von Matthias Gubisch
Hallo

Hier gibt es noch eine Moeglichkeit die Frequenz aus der Registry auszulesen, weis aber nicht wie genau und zuverlaessig das ist.
http://www.codeproject.com/KB/system/Pr ... Speed.aspx

Ansonsten was hindert dich daran die die Frequenz ueber den QueryPerformanceCounter zu berechnen?


bei der Registery Methode koennte es evtl noch ein Problem geben mit Energiesparmethoden bei Notebooks wenn die CPU runtergetaktet wird.

Sonst bleibt dir wohl nur noch die Moeglichkeit die Manuels der Prozessorhersteller zu waelzen obs nen ASM Befehl gibt mit dem du die Akutelle Frequenz abfragen kannst

Gruss
Matthias

Re: Rechner-Taktfrequenz ermitteln

Verfasst: 09.10.2009, 11:59
von Krishty
Matthias Gubisch hat geschrieben:Hier gibt es noch eine Moeglichkeit die Frequenz aus der Registry auszulesen
Mach es ihm nicht noch leichter ;)

Ich gehe davon aus, dass es hier um Zeitmessung geht, darum rate ich ebenfalls dringend zu QueryPerformanceCounter()/Frequency(). Sollte es aus anderen Gründen um die Taktfrequenz gehen (für die Debug-Log etc): Es ist das aussageschwächste Merkmal des Systems, wenn man meint sie zu brauchen, hat man irgendwo vorher einen Fehler gemacht.