- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
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
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You have to make table with stepping names and compare against family, model and stepping returned by CPUID. There is no other way.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page