The reason I'm asking is that on http://alibaba.com you can find prices for the Core i7 as low as $20, minimum quantity 1. This looks like impossibly low for a genuine Intel, but then I also can't believe you can clone this kind of CPU. What's the matter here, and what kind of problems can I expect with these cheap CPUs?
Electronic – Is it possible to make illegal clones of an Intel Core i7
cpupricing
Related Solutions
Your question can be easily answered with a continuity tester (which most voltmeters have). The below pinout is for an i3-540 (LGA1156). I connected one voltmeter probe to the jtag pad on the underside of the processor. Then I swept the other voltmeter probe across the top side of the processor until the voltmeter registered a continuity.
TOP SIDE OF PROCESSOR:
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | | |AL31* |BPM4 |BPM1 |BPM0 | |AL31* |TDO |TRST |PRDY |TAPPWRGD|AL31 | | | | |BPM6 |BPM7 |AL31 | |TCK |TDI |PREQ | | | | | | | |BPM5 |BPM3 |BPM2 |TMS | | | | | | | |
*Connected to BLCK_ITP# (useless since shorted) AL31 refers to Vss
CPU IS UPSIDE DOWN (ie Intel Made in Malaysia and S/n Upside down)
I will be interested if you could find the pinout for the i7 or perhaps we could reverse engineer the Intel JTAG protocol.
Super-scalar processors means that you dispatch multiple instructions during a single clock cycle. The reason this is differentiated from multi-core is that you only get one instruction counter. So you keep track of multiple instructions in-flight, but all the instructions are from a single program. This is still just one process. Now I said "you get one instruction counter," and technically that's true in that there is no point in which your code will experience a disparity except using some branch prediction schemes (Speculative Execution: you simultaneously execute both branches and throw away the "wrong" prediction's result).
When you get into multi-core you have multiple instruction streams executing simultaneously. The important part is that each core (executing with its own instruction counter) can also be super-scalar in order to execute each single process more quickly!
It is possible to have super-scalar without pipelining or out-of-order execution by having what's called very long instruction word or "VLIW". This is also called "static" super-scalar (i.e. it's in the code itself). This is where you basically have enough components to execute multiple instructions at the same time, and you fetch multiple instructions at once and then run them. In its most simple form, imagine that you said "this processor will always fetch and execute two instructions at the same time." Then as long as the coder could find work to be done simultaneously in the same process, you would double your throughput! If you couldn't find two instructions to put together, you would simply pair one instruction and a NOP. This idea is not very good mostly because if you make a better version of the processor which can execute 3, 4, or more instructions at the same time, all your old code breaks! But they solved this in a quite ingenious way, you should check out explicitly parallel instruction computing or "EPIC" stuff if you want to know more.
Dynamic super-scalar with pipelining can take advantage of both data-independent instructions as well as instruction-level parallelism, which is what makes it such a powerful combination. Essentially it allows you, with enough hardware, to execute as many independent instructions simultaneously as possible.
Dynamic super-scalar with pipelining and out-of-order execution was essentially the limit of instruction-level parallelism: you would try and execute multiple instructions in the same stage simultaneously, trying to find operations which operated without data dependencies. You could finish out of order, you would start out of order, there are all sorts of things you need to do to keep your head on straight while doing super-scalar stuff. Multi-core says "hey programmer! Give me multiple problems I can solve at the same time!" and then since the programmer is capable of seeing independently solvable problems beyond just a few lines apart in the compiled assembly, they can more efficiently program those solutions for multi-core.
Super-scalar isn't even capable of solving problems like "how do I execute these two programs more quickly." It could only execute each independent program faster.
Hope that helps, sorry if it's a bit disjointed.
--Edit--
Modified to take into account ajs410's point that I had confused multiple ideas.
Best Answer
There are a lot of different things you can get when you see something like this. For a very new part like this I would assume that since Intel is pretty much the only company with the ability to actually build these CPUs (they use a very small manufacturing process), these are either bricks of lead attached to the correct packaging to look like a CPU, or they're failed CPUs. There's actually a relatively low yield on tiny manufacturing processes like Intel's current generation (22nm is the current size they use). I've been led to believe it's something like a 60% yield (i.e. they produce 100 processors they only get 60 that actually work) and the rest have to be discarded. But I have no real numbers on that, but even if it was a 99.9% yield, that would still mean that 1 in 1000 was bad and had to be disposed of, and Intel produces a lot of processors. And someone is probably interested in cheap, mostly functional CPUs.
What functionality is actually missing in these discarded chips could be very minor. Something like "dividing anything by 3879 never gives the correct answer", but clearly a chip with a flaw like that could never be released without permanently damaging the companies' reputation. So if these $20 i7 chips do function in a core i7 motherboard, I would assume that you would find that each one would have some subset of functionality that misbehaved. Alternatively they could only work if underclocked, or if they were much cooler than the specifications normally allow. Who knows! It's a lottery of functionality.
Another unlikely possibility is that these are some other chips which have the same pinout but do something totally different. See Sparkfun's adventure in counterfeit ATMegas (note that the post I linked has several updates where they learn it's an ON semiconductor part from the 1980s). This is extremely unlikely though, as Intel varies its pinouts frequently, so other manufacturers wouldn't be producing parts which would fit in this generations' sockets.
Something which sometimes happens in China, is that the employees will come into the facilities and run the factory when the managers aren't there, and sell the output as genuine product, even though it hasn't been tested. In general the test equipment and the equipment which marks the packaging with "Genuine __ part!" don't work without the manager's password or something similar. This is normally an issue in places that produce SD cards and similar though, where the process is relatively simple and short. These are called "ghost shift" components because they're produced by a shift of workers who aren't supposed to be there. Intel's chips are probably a bit too complex for something like that, and I think they're mostly produced in America anyway.
So long story short: I don't think there's another entity with the ability to produce 22nm parts as complex as Intel's CPUs right now, so I imagine these are either defective core i7s, or completely fake.
Edit: Or, as Olin noted below, the least interesting answer electronically: they're just stolen chips (I like my schemes to be more elaborate!)