-
June 22nd, 2011, 12:45 AM
#1
How to get correct family, model and stepping of CPU
Hi,
I am using code posted here
http://www.cplusplus.com/forum/lounge/16725/
to get family, model and stepping of CPU. My CPU is:
AMD Athlon(tm) 64 Processor 3200+
The code returns for CPU above:
Family 15, Model 15, Stepping 0
When I check using WMIC (wmic cpu get caption), I get:
Family 15 Model 31 Stepping 0
The CPU model is different. I have found an another article to get CPU info here:
http://www.codeguru.com/cpp/w-p/syst...icle.php/c9087
This tool has three different methods to get CPU info and my results are:
Registry: Family: 15 Model: 31 Stepping: 0
SDK: Family: 15 Model: 31 Stepping: 0
Assembly: Family 15, Model 15, Stepping 0
As you can see that results of Registry and SDK methods are same but Assembly method is returning incorrect model.
It seems when value of model or family is 15, then you have to check for extended model & extended family also. After adding few extra lines at code posted here:
http://www.cplusplus.com/forum/lounge/16725/
lines:
cpu_extended_model = 0xf &(cpuid_registers.eax >> 16);
cpu_extended_family = 0xf &(cpuid_registers.eax >> 20);
I am getting:
extended family : 0
extended model : 1
My question is how do you get correct model, family and stepping of a CPU?
Prashant
Tags for this Thread
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|