Hello all!
Where would I be able to find a list of all families/steppings for the different processors? I found one on Intel's site for their processors, but after much Googling I am left empty handed with AMD and Cyrix.
Thanks!
Andrew
Family/stepping info
- smiddy
- Member
- Posts: 127
- Joined: Sun Oct 24, 2004 11:00 pm
- Location: In my cube, like a good leming. ;-)
I think it is www.sandpile.org you'll want to look up CPUID.
Re: Family/stepping info
Hi,
For AMD, the family and model information for older CPUs (before family 0x0F) is published in their AMD Processor Recognition Application Note. This doesn't include CPUs that AMD obtained from other manufacturers (e.g. NSC Geode), which also return the "AuthenticAMD" as the vendor ID. For stepping information (and family/model information for later CPUs) you need to download the "revision guide" that corresponds to each group of CPUs.
For VIA, NSC (now AMD Geode), IDT/Centaur, Rise and Transmeta, there's a datasheet for each CPU they produced that contains the CPUID family and model information. Some also contain steppings, but some don't.
For SiS and NexGen, I haven't been able to find any documentation. For IBM, their CPUs ("Blue Lightning") didn't support the CPUID instruction anyway.
For Cyrix, some don't support CPUID and some have CPUID disabled. There's a pair of I/O ports that work a little like getting data to/from the CMOS, where you set the location in I/O port 0x22 and then read or write the data from location 0x23. These I/O ports are for CPU configuration, and can be used to enable or disable certain features (e.g. the CPUID instruction) and obtain the model, stepping and revision for the CPU (which is in Cyrix's format, and doesn't correspond to Intel's family/model numbering).
For the Cyrix CPUs there's datasheets that contain both the Cyrix specific model, stepping (if present), and the Intel/CPUID specific family and model (if present).
Where possible, I ignore the "Intel compatible" model and stepping information and use the "manufacturer specific" model and stepping information. They can be different for Cyrix (as described above) and for some other CPUs (e.g. some AMD CPUs report a different family from CPUID 0x00000001 and CPUID 0x80000001).
Also for some manufacturers (Intel, Transmeta and possibly NexGen) there's a software version (microcode update version for Intel and possibly NexGen, and "Code Morphing Software" version for Transmeta). If you're using the family/model/stepping information for anything other than displaying it (e.g. detecting CPU bugs, enabling extra features, etc) then it can be worth getting this software version too. For Intel it's documented in their System Programmer's Guide. For Transmeta it's documented in their datasheets as part of the CPUID information.
Cheers,
Brendan
For Intel, the family and model information is published in their CPUID Application Note for all CPUs. For stepping information you need to download the "specification update" that corresponds to each group of CPUs.AWOS wrote:Where would I be able to find a list of all families/steppings for the different processors? I found one on Intel's site for their processors, but after much Googling I am left empty handed with AMD and Cyrix.
For AMD, the family and model information for older CPUs (before family 0x0F) is published in their AMD Processor Recognition Application Note. This doesn't include CPUs that AMD obtained from other manufacturers (e.g. NSC Geode), which also return the "AuthenticAMD" as the vendor ID. For stepping information (and family/model information for later CPUs) you need to download the "revision guide" that corresponds to each group of CPUs.
For VIA, NSC (now AMD Geode), IDT/Centaur, Rise and Transmeta, there's a datasheet for each CPU they produced that contains the CPUID family and model information. Some also contain steppings, but some don't.
For SiS and NexGen, I haven't been able to find any documentation. For IBM, their CPUs ("Blue Lightning") didn't support the CPUID instruction anyway.
For Cyrix, some don't support CPUID and some have CPUID disabled. There's a pair of I/O ports that work a little like getting data to/from the CMOS, where you set the location in I/O port 0x22 and then read or write the data from location 0x23. These I/O ports are for CPU configuration, and can be used to enable or disable certain features (e.g. the CPUID instruction) and obtain the model, stepping and revision for the CPU (which is in Cyrix's format, and doesn't correspond to Intel's family/model numbering).
For the Cyrix CPUs there's datasheets that contain both the Cyrix specific model, stepping (if present), and the Intel/CPUID specific family and model (if present).
Where possible, I ignore the "Intel compatible" model and stepping information and use the "manufacturer specific" model and stepping information. They can be different for Cyrix (as described above) and for some other CPUs (e.g. some AMD CPUs report a different family from CPUID 0x00000001 and CPUID 0x80000001).
Also for some manufacturers (Intel, Transmeta and possibly NexGen) there's a software version (microcode update version for Intel and possibly NexGen, and "Code Morphing Software" version for Transmeta). If you're using the family/model/stepping information for anything other than displaying it (e.g. detecting CPU bugs, enabling extra features, etc) then it can be worth getting this software version too. For Intel it's documented in their System Programmer's Guide. For Transmeta it's documented in their datasheets as part of the CPUID information.
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
Re: Family/stepping info
Wowsers, I could only find revision 15 on Intel's site. Rev 31 really helps! Thanks!Brendan wrote: For Intel, the family and model information is published in their CPUID Application Note for all CPUs.
Thanks, that helped a lot with the AMD mystery.Brendan wrote: For AMD, the family and model information for older CPUs (before family 0x0F) is published in their AMD Processor Recognition Application Note.
Okay, I found them and downloaded them. thanks for the tipBrendan wrote: For stepping information (and family/model information for later CPUs) you need to download the "revision guide" that corresponds to each group of CPUs.
Are there any specific Web sites that have these?Brendan wrote: For VIA, NSC (now AMD Geode), IDT/Centaur, Rise and Transmeta, there's a datasheet for each CPU they produced that contains the CPUID family and model information. Some also contain steppings, but some don't.
Where can I find these?Brendan wrote: For Cyrix, some don't support CPUID and some have CPUID disabled. There's a pair of I/O ports that work a little like getting data to/from the CMOS, where you set the location in I/O port 0x22 and then read or write the data from location 0x23. These I/O ports are for CPU configuration, and can be used to enable or disable certain features (e.g. the CPUID instruction) and obtain the model, stepping and revision for the CPU (which is in Cyrix's format, and doesn't correspond to Intel's family/model numbering).
For the Cyrix CPUs there's datasheets that contain both the Cyrix specific model, stepping (if present), and the Intel/CPUID specific family and model (if present).
Really? So I should do 80000001 on AMDs?Brendan wrote: Where possible, I ignore the "Intel compatible" model and stepping information and use the "manufacturer specific" model and stepping information. They can be different for Cyrix (as described above) and for some other CPUs (e.g. some AMD CPUs report a different family from CPUID 0x00000001 and CPUID 0x80000001).
Yeah I will be doing those things (especially in bold) so I will look at that.Brendan wrote: Also for some manufacturers (Intel, Transmeta and possibly NexGen) there's a software version (microcode update version for Intel and possibly NexGen, and "Code Morphing Software" version for Transmeta). If you're using the family/model/stepping information for anything other than displaying it (e.g. detecting CPU bugs, enabling extra features, etc) then it can be worth getting this software version too. For Intel it's documented in their System Programmer's Guide. For Transmeta it's documented in their datasheets as part of the CPUID information.
Thank you for all that extremely helpful information!
Andrew
Re: Family/stepping info
Hi,
Here's a good start for Cyrix:
http://ftp.intron.ac/pub/document/cpu/
I mainly do this because of Cyrix chips, where there's I/O ports to get the model, stepping and revision that work (even for older chips that don't support CPUID) but look nothing like the information returned by Intel chips.
Cheers,
Brendan
Unfortunately not - finding these can be fairly difficult, especially as half of the manufacturers were either bought out or closed since. It can take a long time searching (with google) to find anything useful for some of them, and others there doesn't seem to be any information.AWOS wrote:Are there any specific Web sites that have these?Brendan wrote:For VIA, NSC (now AMD Geode), IDT/Centaur, Rise and Transmeta, there's a datasheet for each CPU they produced that contains the CPUID family and model information. Some also contain steppings, but some don't.
Here's a good start for Cyrix:
http://ftp.intron.ac/pub/document/cpu/
Hmm - depends what you want to report to the user. For your OS's purposes you should rely on the feature flags and never really use the family/model/stepping/revision information for anything (except for correcting CPU feature flags and detecting bugs).AWOS wrote:Really? So I should do 80000001 on AMDs?Brendan wrote:Where possible, I ignore the "Intel compatible" model and stepping information and use the "manufacturer specific" model and stepping information. They can be different for Cyrix (as described above) and for some other CPUs (e.g. some AMD CPUs report a different family from CPUID 0x00000001 and CPUID 0x80000001).
I mainly do this because of Cyrix chips, where there's I/O ports to get the model, stepping and revision that work (even for older chips that don't support CPUID) but look nothing like the information returned by Intel chips.
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.