Einzelnen Beitrag anzeigen

Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#1

CPU veranlassen mit maximaler Taktfrequenz zu arbeiten ?

  Alt 26. Jan 2004, 00:30
Ich messe die CPU Geschwindigkeit mit der hinlänglich bekannten Methode.
Leider haben Notebooks mit mobilen Prozessoren die Eigenschaft, eine variable Taktfrequenz zu haben.
Auch die neuen Athlon 64 haben dieses Feature, wenn man es aktiviert.
Wie kann ich veranlassen, dass die CPU in der maximalen Taktfrequenz fährt ?


vielen Dank !

Hier der Code um den cpu Speed zu messen

Delphi-Quellcode:
function cpuspeed: Double;
const
DelayTime = 500; // measure time in ms
var
TimerHi, TimerLo: DWORD;
PriorityClass, Priority: Integer;
begin
PriorityClass := GetPriorityClass(GetCurrentProcess);
Priority := GetThreadPriority(GetCurrentThread);

SetPriorityClass(GetCurrentProcess, REALTIME_PRIORITY_CLASS);
SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_TIME_CRITICAL);

Sleep(10);
asm
dw 310Fh // rdtsc
mov TimerLo, eax
mov TimerHi, edx
end;
Sleep(DelayTime);
asm
dw 310Fh // rdtsc
sub eax, TimerLo
sbb edx, TimerHi
mov TimerLo, eax
mov TimerHi, edx
end;

SetThreadPriority(GetCurrentThread, Priority);
SetPriorityClass(GetCurrentProcess, PriorityClass);

Result := TimerLo / (1000.0 * DelayTime);
end; // von procedure cpuspeed
  Mit Zitat antworten Zitat