![]() |
CPUID Test
Liste der Anhänge anzeigen (Anzahl: 1)
Habe mich mal mit dem Thema beschäftigt und ein kleines Test-Prog mit Source geschrieben. Habe darin alle Informationen kombiniert, die ich finden konnte.
Dabei ist eine Liste von über 100 Prozessoren entstanden, darunter Intel/AMD/Cyrix, aber auch Exoten wie VIA/SiS/UMC/Transmeta. Der Athlon 64 wird auch erkannt, bei seinen Features gabe ich bis jetzt nur AA64 gefunden, das nur ein Flag für die Erkennung der Architektur darstellt. Bei AMDs wird der Name direkt aus dem Prozessor ausgelesen, bei den anderen wird der Name aus der Liste mittels Vendor/Family/Model usw. ermittelt. Ausserdem habe ich noch bei allen Intels/AMDs die Code-/Die-Namen oder was auch immer zussamengetragen, die ich finden konnte. Wers testen/verwenden will kann es gerne tun und eventuelle Fehler melden. EDIT: Die Namen von Intel P4s und Verwandten Mobiles/Celerons/Xeons werden jetzt über die BrandTable ermittelt. |
Re: CPUID Test
So, habe den Fehler mit der Stringlist gefunden und beseitigt. Ist bei mir wohl nicht aufgefallen, weil die im Moment nur bei Intels verwendet wird. :oops:
|
Re: CPUID Test
Hi,
ich habe eine Art Endlosschleife, wenn ich auf GetCPU Info klicke. Die Schleife, die scheinbar schuld ist, befindet sich in der CPUIDEx.pas in Zeile 829. mfG mirage228 P.S.: Wofür ist denn Project1.exe im Source Ordner gut? ;) |
Re: CPUID Test
Bei mir ist es leider genau so :sad:
Habe es mit einem Intel Pentium (400 Mhz) probiert, nachher probiere ich es auch noch mal mit meinem AMD... |
Re: CPUID Test
Endlosschleife dürfte beseitigt sein, hatte ein Inc(i) vergessen.
PS: Projekt1.exe entfernt, die war für nichts gedacht. |
Re: CPUID Test
Code noch eine bißchen optimiert, die Flag-Auswertung habe ich jetzt in die CPUIDex.pas ausgelagert.
|
Re: CPUID Test
Hi!
Warum habe ich manchmal nen 2466,66 MHz-Prozessort und mal einen mit 2500 MHz drin? Laut Rechnung habe ich 2.53B GHz.... Mamphil |
Re: CPUID Test
bei mir schmälerts von eigentlichen 1700 Mhz auf 1666 Mhz! oder ist das toleranzbereich?
|
Re: CPUID Test
Zitat:
|
Re: CPUID Test
Bei mir funktioniert alles perfekt.
Glückwunsch! :thumb: Alle Infos sind richtig. |
Re: CPUID Test
Komischerweise kommt er bei meinem AMD immer genau auf 1400, was bei anderen Tools auch schwankt. Naja die Speed ist auch eher Nebensache, die Funktion habe ich ja nicht verändert, nur übernommen.
Wer von euch hat den Intels? Würde mich besonders interessieren, weil ich da zur Zeit keine Testmöglichkeiten habe. Speziell was Unterscheidung zwischen Celeron/Pentium und die Codenamen angeht bin ich mir nicht so sicher. PS: AMDler sind natürlich auch gerne als Tester gesehen :-) |
Re: CPUID Test
ich hab p4 willamette, stimmt perfekt!
|
Re: CPUID Test
Hi!
Zitat:
Mamphil |
Re: CPUID Test
Bei mir hat er auch den Presskopf richtig erkannt. :stupid:
Nachtrag: Zitat:
|
Re: CPUID Test
Na, das hört sich doch schonmal gut an. Wollte schließlich eine Erkennung, die beiden gerecht wird.
|
Re: CPUID Test
In meinem Notebook habe ich einen Pentium II Mobile. Das stimmt ;-)
Ob die Produktbezeichnung stimmt, keine Ahnung... (Mendocino sagt dein Programm, wird wohl stimmen :P) Mit meinem AMD kann ich es nachher (wenn er wieder richtig läuft) auch noch mal überprüfen... |
Re: CPUID Test
Hallo,
hier mal was dein Programm zu meinem Pentium-M sagt: Zitat:
Zitat:
auf jedenfall zeigt die Taktratenanzeige immernur den aktuellen Takt an... der schwank bei einem Pentium-M ja andauernd... allerdings erkennt er nirgends die 2GHz. Achja - soll im Label6 der Prozessor stehen? Das bleibt leer... |
Re: CPUID Test
Ah, den hatte ich noch nicht in der Liste. Weisst du zufällig den "Codenamen"?
Wie schon gesagt, an der Taktrate werde ich nichts ändern, es sei denn ich finde (zufällig) noch eine andere Funktion dafür. |
Re: CPUID Test
Hallo,
ich habe das Programm auf meinem Notebook getestet, angezeigt wird ein Intel Pentium 4 (Northwood). Ich habe aber einen Mobile Intel Pentium 4 M 1,80 GHz. mfg micsie |
Re: CPUID Test
Am besten gibts du mal Family/Model/Ext.Family/Ext.Model durch, dann kann ich das zuordnen.
Das geht auch an alle anderen, falls was nicht stimmt. |
Re: CPUID Test
Liste der Anhänge anzeigen (Anzahl: 1)
Hier der Screenshot mit den Daten.
Die Taktrate wird wie beim Pentium automatisch geregelt. Ich bezweifle aber, dass die 1,8 GHz CPU im Modus "minimale Batteriebelastung" immer noch mit 1,2 GHz läuft. mfg |
Re: CPUID Test
Habe ihn jetzt mal eingetragen, weis allerdings nicht, ob es dann einen "normalen" Pentium 4 gibt, der diesselbe Family/Model/Ext.Family-Kennzeichnung hat.
EDIT: Habs rausgefunden und eingetragen: der "normale" hat ne andere Brand-ID. |
Re: CPUID Test
Zitat:
|
Re: CPUID Test
Nein, ich meinte "Dothan", aber jetzt weiss ichs ja :)
Habe diesen CPU jetzt eingetragen und habe jetzt die richtige BrandTable für P4s eingebaut, die Namen dürften jetzt stimmen. |
Re: CPUID Test
Wen es interessiert, hier mal ein paar c sourcen, mit denen sich die CPU frequenz exakt bestimmen lässt...
long __stdcall GetCPUFrequency(void) { LARGE_INTEGER ulFreq, ulTicks, ulValue, ulStartCounter, ulEAX_EDX; QueryPerformanceFrequency(&ulFreq); QueryPerformanceCounter(&ulTicks); ulValue.QuadPart = ulTicks.QuadPart + ulFreq.QuadPart; _asm { rdtsc mov ulEAX_EDX.LowPart, EAX mov ulEAX_EDX.HighPart, EDX }; ulStartCounter.QuadPart = ulEAX_EDX.QuadPart; do { QueryPerformanceCounter(&ulTicks); } while (ulTicks.QuadPart <= ulValue.QuadPart); _asm { rdtsc mov ulEAX_EDX.LowPart, EAX mov ulEAX_EDX.HighPart, EDX }; ulFreq.QuadPart = ulEAX_EDX.QuadPart - ulStartCounter.QuadPart; return (long) ulFreq.QuadPart / 1000000; }; Das Original ist von Code-Guru, von wem weiß ich nicht. Hab es ein wenig modifiziert... braucht genau :) 1 sekunde und ermittelt immer die selbe frequenz... |
Re: CPUID Test
Moin!
@scp: Dein Tool ermittelt falsche Werte beim Cache: Zitat:
Zitat:
MfG Muetze1 |
Re: CPUID Test
mein p2 , der mit 266Mhz angegeben ist kommt laut deinem programm nur auf 250Mhz
|
Re: CPUID Test
Wenn ich es so aufrufe:
Delphi-Quellcode:
Dann lande ich wohl irgendwo in einer Endlosschleife.
sl := TStringList.Create;
CPUInfo := GetCPUInfo(sl); Deine Demo geht aber bei mir. Alles, was ich eigentlich brauche ist:
Delphi-Quellcode:
Nachtrag: Habe Mist gebaut. :wall: Geht jetzt.
s := CPUInfo.Brandname + ' ' + CPUInfo.Codename;
Und die Features in eine StringListe zu stecken finde ich etwas unpraktisch. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz