AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

CPU-Frequenzbestimmung bei Core Duo

Offene Frage von "kriegste"
Ein Thema von kriegste · begonnen am 10. Nov 2006 · letzter Beitrag vom 14. Nov 2006
Antwort Antwort
kriegste

Registriert seit: 9. Jul 2006
25 Beiträge
 
#1

CPU-Frequenzbestimmung bei Core Duo

  Alt 10. Nov 2006, 15:55
Hallo,
die Messung mit Hilfe zweier RDTSC-Befehle und Wartezeit dazwischen funktioniert ja normalerweise prächtig. Jetzt hat sich Intel aber für den RDTSC etwas Mieses ausgedacht: Bei den neueren CPUs (Conroe etwa) läuft der TSC nicht mehr synchron zum CPU-Takt. Und etwaige Speedstep-Änderungen kriegt man so auch nicht mit.
Hat jemand noch eine Idee, wie man unter Windows trotzdem noch an den aktuellen(!) Takt kommt? CPUZ kann's ja auch irgendwie.
  Mit Zitat antworten Zitat
C.Schoch

Registriert seit: 2. Jan 2006
Ort: Wüstenrot
235 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: CPU-Frequenzbestimmung bei Core Duo

  Alt 10. Nov 2006, 17:35
Vieleicht gehts hiermit:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender : TObject);
var
  i : integer;
  dwSAffinity, dwDummy, dwPHandle : DWORD;
begin
dwPHandle := OpenProcess(PROCESS_QUERY_INFORMATION, true, GetCurrentProcessId); // Prozesshandle holen
if dwHandle <> INVALID_HANDLE_Value then
begin
  if GetProcessAffinityMask(dwPHandle, dwDummy, dwSAffinity) then // System Prozessoren holen
  begin
  for i := 0 to 31 do // dwSAffinity ausmaskieren und Prozessor dem Process zuweisen
  begin
    if (dwSAffinity shr i and 1) = 1 then
    begin
      if SetProcessAffinityMask(dwPHandle, i + 1) then
      begin
      //RDTSC durchführung
      end;
    end;
  end
end;
Ich hoffe es klappt ist nur so heruntergeschrieben.
Tschau Christian
Das System hofft auf Besserung
[Siemens]
  Mit Zitat antworten Zitat
kriegste

Registriert seit: 9. Jul 2006
25 Beiträge
 
#3

Re: CPU-Frequenzbestimmung bei Core Duo

  Alt 10. Nov 2006, 17:49
Hi,

danke für den Versuch, aber auch dieser greift nur auf die RDTSC-Geschichte zu, die ja nicht mehr funktioniert. Dass ich den Thread auf einen Core zuweisen muss, ist mir klar (das wird auch so gemacht, ich wollte es nicht explizit nochmal erwähnen).

Ich habe ein paar Experimente mit RDPMC machen wollen (auf Verdacht hin, weil diese Performance Counter vielleicht noch nutzbar sind), aber leider braucht man wohl einen Treiber, um das Auslesen der Performance Counter im Userspace freischalten zu können.
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#4

Re: CPU-Frequenzbestimmung bei Core Duo

  Alt 10. Nov 2006, 20:33
Suche benzutzen, guckst du hier http://www.delphipraxis.net/internal...488&highlight=

In kurz: geht nicht, APIC funkt auch noch dazwischen und drosselt den CPU Takt nach belieben.

Gruß Hagen
  Mit Zitat antworten Zitat
kriegste

Registriert seit: 9. Jul 2006
25 Beiträge
 
#5

Re: CPU-Frequenzbestimmung bei Core Duo

  Alt 10. Nov 2006, 21:25
Danke für die Antwort. Das Ganze ist leider sehr unbefriedigend. Das Problem sind auch nicht "Multiprozessoren" an sich, da ich prinzipiell deren Takt (auch bei dynamischer Änderung) schon messen kann. Einzig Intels neuester "Clou", eben, dass es nur noch einen asynchronen, konstanten TSC gibt, macht mir Probleme.
Und naja, dass es nicht geht, lasse ich nicht so recht gelten, da CPUZ es ja kann.
  Mit Zitat antworten Zitat
kriegste

Registriert seit: 9. Jul 2006
25 Beiträge
 
#6

Re: CPU-Frequenzbestimmung bei Core Duo

  Alt 14. Nov 2006, 11:54
Keine Ideen mehr?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz