The manufacturing and grading of families of microprocessors

Most microprocessor manufacturing (along with countless other devices) undergo the process of binning: all similar products are made at once, and depending on their performance, are placed into "bins" (groups) of similarly performing products, and then packaged and sold accordingly.

In the case of Intel processors (AMD is similar), generally processors within the same line are manufactured together, and are binned according to their stable clock frequency. You can tell when a processor is part of the same "line," by looking at the core codename, or if that is not specific enough, the features of the core (as mentioned by embedded.kyle, the i5 doesn't have hyperthreading, but the i7 does, even though both in question are "Sandy Bridge").

Sometimes a higher-end processor that fails can still be sold as another. An example I know first-hand is that the M0 steppings of the old Northwood-core Pentium 4's (130nm process) were actually failed Gallatin-core processors (which was the core for the P4 "Extreme Edition"). Similarly, a lot of people had/have luck unlocking extra cores, caches and shader units on various CPUs and GPUs. For example, it is quite common to be able to buy a mid-high range video card (take for example, the AMD Radeon 6850) and flash it with the BIOS of the higher-level card (the Radeon 6870, in this case) and gain the extra things that card has (some extra shader cores). This also has to do with binning during the manufacturing process.

This sort of thing drives overclockers to take good note of the stepping, place of origin, and batch number of their processors. When word gets out that certain batches of processors are overclocking better than their not-as-potent brethren (same CPU, mind you, just made at a different time or place), they become more in demand.

If you're interested more, definitely search "CPU Binning," or read up at some forums. I'm a member at www.overclockers.com, and the forum there is quite welcoming and has a wealth of past and current knowledge (along with an abundance of fantastic members).


The i5-3320M and the i5-3360M would probably fall under Option 3. They are most likely being produced using the same die and testing determines the highest stable frequency that they will run at. Minor variations in manufacturing process will lead to some chips not being able to run stably above a certain clock frequency.

It's these minor manufacturing differences that can also explain why two identical setups that are being overclocked cannot achieve the same frequency. Even the same model chip will have manufacturing differences from one lot to the next, and to a lesser extent, one chip to the next. When you push the limits of the chip, these differences become more noticeable in that they affect the chip more.

For instance, I've read of a few people being able to run the same processor as I have stably at frequencies above 4.4GHz. However, I, and most others that have tried, have trouble running anywhere above 4GHz. Though there are also differences in cooling solutions and peripherals to take into consideration, all else being equal, I doubt I'd be able to attain 4.4GHz because of luck of the draw. I didn't get a "perfect" chip. If you hunt around on overclocker forums, you can read a lot more about this.

In terms of manufacturing processes in general, Option 3 is also how resistor tolerances are determined. All 1KΩ resistors come off the same line. They are then tested and packaged at 5%, 1%, and 0.1% tolerances depending on how they test.

The i7 is a different die and could fall under Option 1 or 2 though most likely Option 1 in order to keep up with demand and reduce costs. Any time you have to shut down a line to change out a die, you're losing money. For an outfit like Intel, it's cheaper to run separate lines.


Two example from an older era, but interesting in context:

The 80486SX was an 80486 with an intentionally destroyed FPU, probably salvage from 80486DX that had faulty coprocessors. The 80487 was a complete 486DX, and mainboard circuitry disabled the 486SX completely when a 487 was plugged in.

Any classic 40 pin 8051 (ROM/OTP) microcontroller can be (and likely has been, if there was overstock of 8051 with unwanted code loaded into it) perfectly sold as an 8031 - it behaves as an 8031 if you wire it up like an 8031. This also applies to the 80C517/80C515 and to many chips in the 8096/80196 family.