CPU Identifacation Numbers

flyoffacliff

Honorable
Jul 18, 2012
98
0
10,640
I got the following CPU identification numbers for my Intel 4770K from several software programs, what do they mean?:

MSI Control Center:
CPU ID: 6C3
Ext. Family: 6
Model: 3C
Revision: C0

Intel Extreme Tuning Utility:
Micro Code Update: 0x12

CPU-Z:
Family: 6
Ext. Family: 6
Model: C
Ext. Model: 3C
Stepping: 3
Revision: C0

I know some batches are better for overclocking than others. Are these ones good?

Also, what is the batch number and how do I find it?

Thanks a lot. :)
 
Solution


One of the biggest selling points for x86 microprocessors is that they are 100% backwards compatible throughout the entire family. When a brand new i7-4770k is first powered on, it boots up in what is known as "real mode" and behaves like a very fast 8086. It will stay in real mode until placed into protected mode or long mode by the appropriate instructions.

Prior to the mid 1990s there was no express way for code to know what microprocessor it was running on. Each program had to be written to heuristically test for behavioural patterns between different microprocessors.

For example, a 286 can be placed into protected mode, whereas an 8086/80186 cannot. A 386 has 32 bit...

PyjamasCat

Honorable
Mar 20, 2013
874
0
11,360
You can't really tell if a particular will perform better than any other. There may be a common trend among a batch, but it is still up to chance whether you get a good chip or not.

Edit: I think the batch number is on the IHS.
 


The batch number can be found as a sticker on the box that the microprocessor came in. However, some batches being better than others is largely an urban legend.
 


One of the biggest selling points for x86 microprocessors is that they are 100% backwards compatible throughout the entire family. When a brand new i7-4770k is first powered on, it boots up in what is known as "real mode" and behaves like a very fast 8086. It will stay in real mode until placed into protected mode or long mode by the appropriate instructions.

Prior to the mid 1990s there was no express way for code to know what microprocessor it was running on. Each program had to be written to heuristically test for behavioural patterns between different microprocessors.

For example, a 286 can be placed into protected mode, whereas an 8086/80186 cannot. A 386 has 32 bit GPRs whereas its predecessors do not. The 80486 has an integrated FPU whereas the 386 does not.

Furthermore, Intel is not the only manufacturer of x86 microprocessors. AMD is the other major manufacturer, but Viacom still manufactures a few and there are a few defunct ones such as Cyrix, and a few that have abandoned x86 such as IBM. These are compatible, but some include instructions that are not present on others or implement the same instruction with slightly different behaviour. It should be obvious that testing a huge range of microprocessors for compatibility through heuristics is a disaster waiting to happen.

In the mid 1990s Intel introduced a new instruction called "CPUID" which, when implemented correctly, identifies the CPU's architecture and describes the microprocessor's technical details. CPUID is not exclusive to x86, and is not exclusive to Intel. The instruction is present on all recent x86 chips from all manufacturers as well as Intel's Itanium microprocessors.

Parsing CPUID is an effort in and of itself, so it's generally only performed by the operating system or an application such as CPUz. This is partly a result of CPUID family/model values being implemented without much foresight as time went on.

When CPUID was first introduced with the Pentium and enhanced 486 those architectures were assigned values of 5 and 4 respectively (the 486 predates the Pentium, but some enhanced 486 chips were released later with the CPUID instruction present). The Pentium Pro, Pentium 2, Pentium 3 are all of family 6, with different models.

The NetBurst architecture (Pentium 4) was a slapped together architecture made to compete with the AMD Athlon while the EPIC architecture was being delayed by years (Itanium). The Itanium processors were supposed to be Family 7, while NetBurst was assigned family 15 (the maximum that can be represented in a 4 bit field). Itanium never took off, and NetBurst was developed far beyond what Intel had originally planned. Eventually NetBurst was killed off completely and Core 2 was developed. Core 2 is actually a successor to the original Pentium 3 architecture and is perhaps more truly a Pentium 4 than the actual Pentium 4 architectures themselves. So, Core 2 continued on with the "Family 6" value and adopted Model 15, again the most that could fit in a 4 bit field.

Well, that's pretty well tapped out. Family and model values are all over the place. Fortunately, Intel had thought ahead about this (although why they created something so convoluted in the first place is beyond me) and added an Extended Family and Extended Model field. However, there's disagreement between manufacturers as to how this should be handled.

The Sandybridge microprocessor has Family 6 and a Model of A. This is the same as one of the Pentium 3 architectures. However, the Extended model differentiates it.

Stepping is a bit easier to figure out. Steppings are simply minor changes made to ASICs mid-production as bugs are found and fixed. There are a few famous cases of this in recent history. The Intel 6 series chipsets were recalled after a flaw in the SATA3 controller was found. Chips with the fix applied were given an incremented stepping value. The first generation of Sandybridge-E microprocessors (Stepping C1) had a flaw which rendered the VT-d extension unusable. This flaw was fixed with stepping C2. Without this stepping value it would not be possible to determine if a microprocessor exhibits certain errata or not.

I hope that this answered your question.
 
Solution