Parallel Processing, Part 1: CPU Cores

Multi-Core Concepts

Single Core

The term "single core" applies to a processor that has a single processing unit. This applies to virtually every CPU from the early 8086 up to the Athlon 64 and Intel Pentium 4. Until manufacturing processes became sophisticated enough to allow the design of microchips with two processing units on a die, smaller structures were used to reduce the operating voltage, increase the clock speed or introduce more functional units and cache memory.

Driving a single core processor to high clock speeds may deliver high performance for a single application, but the processor can only work on one task (thread) at a time. Intel’s concept of HyperThreading, which emulates the presence of multiple cores to the operating system, was designed to better utilize the long pipelines of the Pentium 4 and Pentium D processors. While it only delivered a limited performance gain, it certainly improved system responsiveness - this may be even more important in a multitasking environment, because it means you can still do something else while your computer is processing a workload.

Since dual core processors are amazingly cheap today, we recommend staying away from single cores, unless you really need their even cheaper prices.

Dual Core

The Core 2 Extreme X6800 was Intel’s fastest Core 2 dual core at launch, reaching a 2.93 GHz clock speed. Today, the dual cores max out at 3.0 GHz, but at faster FSB1333 system speeds.

Having two processing cores means having twice the processing power, but only if your applications are really thread-optimized. This typically applies to professional software, and to more and more programs that are calculation intensive. A dual core processor still makes a lot of sense even if you only use your computer to write email, browse the Web and work on office files such as documents or spreadsheets. On the one hand, the current models do not require noticeably more energy than single core models. On the other hand, the second processing core not only gives you more performance, it maximizes system responsiveness.

Have you ever had to wait for WinRAR or WinZIP to complete the compressing of files? On a single core machine you would not be able to do much more than switching between windows. Even a DVD playback windows would often stutter on a single core that all of a sudden got a complex workload. A dual core allows you to execute multiple applications at a time smoothly.

The AMD dual cores include two fully-featured processing cores with cache memory, an integrated memory and a crossbar switch to share access to the memory and to the HyperTransport system interface. Intel did the same thing with the first Pentium D, putting two Pentium 4 dies into a physical processor. Since the memory controller is part of the platform, the system bus has to be used for inter-core communication and memory access, which can be a performance disadvantage. The Core 2 Duo processor has two more advanced cores, offering better performance per clock and performance per watt ratios. They use a shared L2 cache, meaning that the two cores can also exchange data without utilizing the system bus.