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:
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.