Multiple core processors have been available in personal computers for almost a decade now. The reason is that the processor were hitting physical limitations in terms of their clock speeds and how effectively they could be cooled and still maintain accuracy. By moving to extra cores on the single processor chip, manufactuerers avoided the issues with the clock speeds by effectively multiplying the amount of data that could be handled by the CPU. When they originally were released, it was just two cores in a single CPU but now there are options for four, six and even eight. In addition to this, there is Intel's Hyper-Threading technology that virtual doubes the cores so that the operating system may see upwards of twelve. Having two cores in a single processor has always had tangible benefits thanks to the multitasking nature of modern operating systems. After all, you may be browsing the web or typing up a report while an anti-virus program runs in the background. The real question for many people may be if having more than two is really beneficial and if so, how many?
Before going into the benefits and drawbacks of multiple processor core, is important to understand the concept of threading. A thread is simply a single stream of data from a program through the processor on the system. Each application generates its own or multiple threads depending upon how it is running. With multitasking, a single core processor can only handle a single thread at a time, so the system rapidly switches between the threads to process the data in a seemingly concurrent manner.
The benefit of having multiple cores is that the system can handle more than one thread. Each core can handle a separate stream of data. This greatly increases the performance of a system that is running concurrent applications. Since servers tend to be running mutiple applications at a given time, it was originally developed there but as personal computers got more complex and multitasking increased, they too could benefit from having multiple core processors.
While the concept of multiple core processors sounds very appealing, there is a major caveat to this ability. In order for the true benefits of the multiple processors to be seen, the software that is running on the computer must be written to support multithreading. Without the software supporting such a feature, threads will be primarily run through a single core thus degrading the efficiency. After all, if it can only run on a single core in a quad core processor, it may actually be faster to run it on a dual core processor with higher base clock speeds.
Thankfully, all of the major current operating systems have multithreading capability. But the multithreading must also be written into the application software. Thankfully the support for multithreading in consumer software has greatly improved since the original dual core processors came out, but for many simple programs, multithreading support is still not implemented due to the complexity of the programming. For instance, a mail program or web browser is not likely to see huge benefits to multithreading as say a graphics or video editing program where complex calculations are being done by the computer.
A good example to explain this is to look at a typical PC game. Most games require some form of rendering engine to display what is happening in the game. In addition to this, there is some sort of artificial intelligence to control events and characters in the game. With a single core, both of these must function by switching between the two. This is not necessarily efficient. If the system had multiple processors, the rendering and AI could each run on a separate core. This looks like an ideal situation for a multiple core processor.
This is an excellent example of how multiple threads can benefit a program. But in that same example, is four processor cores going to be better than two? This is a very difficult question to answer as it is highly dependent upon the software. For instance, many games still have very little performance difference between two and four cores. There are essentially no games that see tangible benefits from beyond four processor cores. Going back to the email or web browsing examples, even quad core will so no real benefit. On the other hand, a video encoding program that is transcoding video will likely see huge benefits as individual frame rendering can be passed to different cores and then coallated into a single stream by the software. Thus having eight cores will be even more beneficial than having four.
One thing that was briefly mentioned is clock speeds. Most people are still familiar with the fact that the higher the clock speed, the faster the processor will be. Clock speeds become more nebulous when you are also dealing with multiple cores. This has to do with the fact that the processor can now process multiple data threads due to the extra cores but each of those cores will be running at lower speeds because of the thermal restrictions.
For instance, a dual core processor may have base clock speeds of 3.5 GHz for each processor while a quad core processor may only run at 3.0GHz. Just looking at a single core on each of them, the dual core processor will be able to about fourteen percent faster than on the quad core. Thus, if you have a program that is only single threaded, the dual core processor is actually better. Then again, if you have something that can use all four processors such as video transcoding, then the quad core processor will actually be about seventy percent faster than that dual core processor.
Now both AMD and Intel have introduced technologies (Turbo CORE and TurboBoost respectively) that can dynamically increase the speed of a processor core to help offset these differences between the dual and quad core products. For instance, Intel may have the quad core processor with a base clock speed be 3.0GHz but when only a single processor core is in use at full load, that processor core will be boosted up to 3.4GHz. This would then make the quad core processor just three percent slower than a dual core processor that runs at 3.5GHz.
So what does this all mean? Well, you have to take a close look at the processor and also the software to get a good idea of how it will perform overall. In general, a multiple core processor is a better choice but that does not necessarily mean that you will better overall performance. The clock boosting features in processor help offset some of the issues to make having more generally better but not all processors feature this technology.
For the most part, having a higher core count processor is generally a good thing but it is a very complicated matter. For the most part, a dual core or quad core processor is going to be more than enough power for a basic computer user. The majority of consumers will see no tangible benefits from going beyond four processor cores currently as there is so little software that can take advantage of it. The only people that should consider such high core count processors are those going tasks such as desktop video editing or complicated science and math programs. Because of this, I highly recommend readers check out my How Fast of a PC Do I Need? article to get a better idea of what type of processor to best match their computing needs.