AMD Processors
Decrease font size
Increase font size
Topic Title: Where do I find non-standard CPU-ID information?
Topic Summary:
Created On: 03/24/2011 08:09 PM
Status: Read Only
Linear : Threading : Single : Branch
Search Topic Search Topic
Topic Tools Topic Tools
View similar topics View similar topics
View topic in raw text format. Print this topic.
 03/24/2011 08:09 PM
User is offline View Users Profile Print this message

Author Icon
wolfbeast
Lurker

Posts: 4
Joined: 03/24/2011

Hey folks,

Sorry if this is not the exactly right board, but it seemed to be the best match.

I'm programmatically checking the CPU ID (through wmi/Win32_Processor) to get basic capabilities for processors the program is run on (HTT/MMX/SSE/SSE2) and it goes fine in most cases, however I found that a number of AMD Athlon XP CPUs give back odd values.

For example, I got the value "00000055000006A0" for a certain Athlon XP. The capabilities I want to check are normally contained in the first 3 bytes of this value, but it's all 0's. The CPU has MMX and SSE, but I can't read that from the ID given back by this CPU. I therefore need to know a list of non-standard IDs that are given back like this, so I can add those as "special cases" and manually set the capabilities based on them.

Where would I find this information for non-standard CPU-IDs like these?
 03/25/2011 08:20 AM
User is offline View Users Profile Print this message

Author Icon
bogey
Ardrid Returned

Posts: 5643
Joined: 03/25/2005

If it's any help 6AO is the ID for a Barton(512kb L2) or Thornton(256kb L2) core.

Have you tried CPU-Z?

Socket A cpus do not support HTT or SSE2.

-------------------------
MSI K7N2 Delta2 LSR|35w XP-M2400 11x214 1.62V|2x512MB OCZ EL 2 2 2 11 2.9V|9600XT|Seasonic 350w
Abit AN7|XP-M2800 10.5x227 1.62V|2x512MB Mushkin XP4000 2 3 2 11 3.2V|9600XT|Seasonic 550w
Asus A7V600|XP-M2600 6-11x202 1.6V|2x512 Crucial PC3200 2.5 3 3 9 2.7V|PCI 32MB gfx|Corsair 450w
 03/25/2011 09:27 AM
User is offline View Users Profile Print this message

Author Icon
wolfbeast
Lurker

Posts: 4
Joined: 03/24/2011

Thanks, but I would need information about a lot more than just this one CPU. I need this program to be able to derive the CPU capabilities based on what I get back from Win32_Processor. Normally a CPU would give back the proper flags (from the cpuid ASM instruction) in the first bytes - in most cases, this works like a charm, but apparently a number of CPUs don't follow the standard.

Where did you get your ID info (for 6A0) from? Where can I find a list for what ID is what core, so I can make specific checks?

Thanks in advance.

(I know CPU-Z but I can't use an external program as part of my own, and I don't have every CPU under the sun to check ;-) )
 03/26/2011 03:34 AM
User is offline View Users Profile Print this message

Author Icon
bogey
Ardrid Returned

Posts: 5643
Joined: 03/25/2005

What windows reports is what it's receiving from the motherboard bios. If the bios doesn't have the relevant codes in it's database, it will try to guess what the cpu is based on it's speed, core etc.

-------------------------
MSI K7N2 Delta2 LSR|35w XP-M2400 11x214 1.62V|2x512MB OCZ EL 2 2 2 11 2.9V|9600XT|Seasonic 350w
Abit AN7|XP-M2800 10.5x227 1.62V|2x512MB Mushkin XP4000 2 3 2 11 3.2V|9600XT|Seasonic 550w
Asus A7V600|XP-M2600 6-11x202 1.6V|2x512 Crucial PC3200 2.5 3 3 9 2.7V|PCI 32MB gfx|Corsair 450w
 03/26/2011 03:48 AM
User is offline View Users Profile Print this message

Author Icon
wolfbeast
Lurker

Posts: 4
Joined: 03/24/2011

Originally posted by: bogey

What windows reports is what it's receiving from the motherboard bios. If the bios doesn't have the relevant codes in it's database, it will try to guess what the cpu is based on it's speed, core etc.


Not according to Microsoft:

ProcessorId

Data type: string
Access type: Read-only

Processor information that describes the processor features. For an x86 class CPU, the field format depends on the processor support of the CPUID instruction. If the instruction is supported, the property contains 2 (two) DWORD formatted values. The first is an offset of 08h-0Bh, which is the EAX value that a CPUID instruction returns with input EAX set to 1. The second is an offset of 0Ch-0Fh, which is the EDX value that the instruction returns. Only the first two bytes of the property are significant and contain the contents of the DX register at CPU reset - all others are set to 0 (zero), and the contents are in DWORD format.


So it does, actually, pull it directly from the CPU, and does not look at the BIOS for this. This is the reason why I chose this approach, since BIOSes are known to have flaws of their own and not play nice.

Ref: http://msdn.microsoft.com/en-u...4373%28v=vs.85%29.aspx
 03/26/2011 01:22 PM
User is offline View Users Profile Print this message

Author Icon
wolfbeast
Lurker

Posts: 4
Joined: 03/24/2011

I gather no-one has a ready answer here.
AMD themselves might be able to help, so I've popped the question to them directly. Fingers crossed!
Statistics
112018 users are registered to the AMD Processors forum.
There are currently 0 users logged in.

FuseTalk Hosting Executive Plan v3.2 - © 1999-2014 FuseTalk Inc. All rights reserved.



Contact AMD Terms and Conditions ©2007 Advanced Micro Devices, Inc. Privacy Trademark information