Intel's Core Duo and Core 2 Duo CPU lines are all the rage these days. These chips are extremely powerful, miserly in thier use of power and can execute two unique operations at the same time. Both product lines feature two discrete CPUs, complete with level 1 and 2 caches, on a single die. This differs markedly from the Pentium 4's hyperthreading, which provided simultaneous execution pathways only under certain conditions. In addition, the P4 line consumed so much power that systems built around it were often difficult to cool.
The Core 2 Duo, which was just recently released, improves upon the original Core Duo design by including support for 64-bit instructions along with a modest overall performance increase - without any additional power draw (or price!). Few of us currently have use for a 64-bit architecture, so for all practical purposes the two CPUs are pretty much the same.
Many (most?) common applications are single-threaded, meaning that they perform only one task at a time. Others use multithreading sparingly, meaning that they perform most tasks one at a time. Microsoft Word, for example, performs print operations as background threads so as to not tie up the user interface in the process. Applications which are single-threaded or lightly multi-threaded will not directly benefit from multi-core CPUs. Users who do more than one thing at a time with thier computers will, however, benefit significantly.
An operating system typically has many applications running simultaneously. These include those apps instantiated by the user as well as processes needed by the OS itself. One of the OS' jobs is to schedule the running of all processes on the available hardware. When one CPU is available and a resource-hungry application is running, interactive OS operations can become sluggish. I've often found that even hyperthreading could all but eliminate this phenomenon. I'd expect a dual core setup to be even better.
A real-world scenario which illustrates the problem is the compression of large files. I frequently need to compress database snapshot files which can be up to 30GB in size. Compression can reduce this footprint ten-fold, or more, which is very useful for archival storage or for when the files must be transferred over the Internet. The compression process can take awhile, which makes using my (single core) Pentium M notebook a bit frustrating. On my old hyperthreaded P4 desktop I never even noticed it. Burning recordable media is another example. I make far more coasters on my single core machine than I ever did on my hyperthreaded box when I try to burn something at high speed and do work at the same time.
Even the average computer user can benefit from having two cores. In this age of malware and spam, many of us run real-time antivirus, anti-spyware, spam-filtering, ad-blocking and popup-blocking software. These tools consume very real resources that could be put to better use. A dual core machine will help offload some of that work and maximize productivity.
I'm not so sure that the number of cores is as important to the average user as having more than one core is. I suspect that that Intel and AMD will fight a silly 'more cores' war that no one will benefit from. IMHO, we need two solid cores to deal with the intensive tasks we peform simultaneously and no more. Servers will be able to make use of the extra cores, but not us humble users.
Posted by: Mark Mischke | Wednesday, September 27, 2006 at 08:43 PM
So the Intel two-core processor is out, but I blinked and the four-core is out. Not sure when I'll have apps to use all that.
Posted by: Ken Barrett | Wednesday, September 27, 2006 at 08:31 PM