Software Archive
Read-only legacy content
17061 Discussions

Determining a processor's core stepping

jfpoole
Beginner
285 Views
Hi,

Does anyone know how a program can determine a processor's core stepping? There's no documentation for it in the cpuid instruction, but I've seen a couple of different applications return it, so it's got to be possible.

Thanks,
John
0 Kudos
2 Replies
Frank_W_Intel
Employee
285 Views

If your trying to associate a value to a code name or brand string, then your correct it is not documented.

Otherwise execute the CPUID instruction with EAX initialized to 1. Upon completion of the CPUID(1) function, the EAX register is loaded with the extended family, extended model, type, family, model and stepping.

Software must read EAX and compose the resultant 8-bit family value, 8-bit model value and 4-bit stepping value.

Family = CPUID(1).EAX[27:20] + CPUID(1).EAX[11:8]

Model = (CPUID(1).EAX[19:16] << 4) + CPUID(1).EAX[7:4]

Stepping = CPUID(1).EAX[3:0]

This is documented in the IA-32 Intel Architecture Software Developer's Manual, volume 2A.

0 Kudos
levicki
Valued Contributor I
285 Views
You have to make table with stepping names and compare against family, model and stepping returned by CPUID. There is no other way.
0 Kudos
Reply