Originally Posted by SHENGTON
1. What is core?
2. What is thread?
3. What's the difference between core and thread?
A core is an execution unit in a microprocessor; this definition is a bit ambiguous, and is about to get a bit different, but it will do for the moment.
Core2Duo (and Quad, etc) is an Intel brand/trademark and is used for some of their more recent processors. In this they are referring to the number of independent execution units that the processor has. AMD also has processors with multiple ewxecution units, but uses different branding.
A thread is something like a process, but lighter weight.
So at least one way of looking at the difference is that one is hardware (you know, silicon, stuff that you could touch, even though you'd probably destroy it by touching the silicon). A thread is a sequence of instructions, and so isn't something that you can touch quite so easily.
Intel has some processors that are multi-threaded. That is, one core can run more than one thread, pseudo-simultaneously. There are some advantages in doing this (pipeline stalls, while they still exist, can be made less serious, if you are lucky). AMD doesn't (currently?) have cores that can do this clever psuedo-simultaneity thing.
Now, of course, as this is easy to understand, its about to get harder. With some of the parts that AMD is about to announce, the execution core is, on paper, 'lighter' than is traditional, which may well muddy the waters slightly as to what is the core count, and whether one AMD core is equivalent to one Intel core. (This is, of course, piled on top of various other things aren't quite equivalent either.) But the real complication comes in that there are more and more moves to move some of the graphics architecture into the microprocessor, particularly by AMD.
Once the interface to the graphics execution units is standardised (which can be, but isn't necessarily, a result of moving the graphics units into the core) parts of the graphics arch can be used to perform some tasks that were previously only performed by the microprocessor execution units.
Now this may only apply to some of the simpler tasks and, in many cases, it may not be worth the set-up overhead of doing so, but you have to then ask how many execution units does the processor have? Is it the number of traditional microprocessor cores (eg, 2 - 4 - 6 - 8)? That number multiplied to take into account the hyperthreading of the Intel cores, where relevant? Or, do you include the extra cores that the graphics subsystem gives, which may be 40 or more, even if, most of the time you can't use them, and they aren't as 'powerful' as traditional cores?
Now you may well think that this is an irrelevant academic discussion, but then you probably don't have any software that you have to pay for on a per core licensing scheme. That would get your attention. As would the fact that you might be sold a four core processor, that would have a different number of cores, if assessed by the system used by a different supplier.
Traditionally, people have bought by clock speed, beleieving that 'more is better'. That is if someone compares a 1 GHz processor with a 2 GHz processor, it would have seemed clear that the faster clocked one would be faster. This was never really the case, but whether a 2 GHz single core, single thread processor is faster than a 1 GHz four core, processor is more obviously an open question. This will add to the confusion in the marketplace, and it was already rather confused, but then that really isn't my problem.