Dual Processor vs Dual Core
Written on 3/25/06 by William George
[ View all Articles ]
Click here for a printable version. Warning: Always look at the date when you read a hardware article. This article may be out of date, as it was written on 3/25/06. Introduction It has always been a frequent question -- "Will I benefit from multiple processors?" With the growing popularity of dual core processors, the topic is more important than ever! Will multiple processors or a dual core processor be beneficial to you, and what are the differences between them? These are the questions this article will attempt to lay to rest. A major question for some people getting ready to buy a high-end system is whether they want or need to have two processors available to them. For anyone doing video editing, multi-threaded applications, or a lot of multitasking the answer is a very clear 'yes'. Then the question becomes whether two separate processors (as in a dual Xeon or Opteron system) is the way to go, or whether a single dual-core CPU (like a Pentium D or Athlon64 X2) will do just as well. Dual CPU vs dual core -- which is better?! Dual Core Defined As the tasks that computers can perform get more complicated, and as people desire to do more at once, computer manufacturers are trying hard to increase speed in order to keep up with demand. Having a faster CPU has been the traditional way to keep up, since a faster CPU can do a task then quickly switch and work on the next. However, due to size, complexity and heat issues it has become increasingly difficult to make CPUs faster. In order to continue to improve performance, another solution had to be found. Having two CPUs (and a motherboard capable of hosting them) is more expensive, so computer engineers came up with another approach: take two CPUs, smash them together onto one chip, and presto! The power of two CPUs, but only one socket on the motherboard. This keeps the price of the motherboards reasonable, and allows for the power of two CPUs (also known as cores) with a cost that is less than two separate chips. This, in a nut shell, is what the term "Dual Core" refers to - two CPUs put together on one chip. There are more subtle differences between brands (how they combined two cores onto one chip, and the speeds they run each core at) that can affect how much of a boost in performance you can get from having a dual core CPU.
Additionally, different types of programs get differing benefits from having a dual core chip. Thread Scheduling There is one more thing to keep in mind: how a computer knows when to use each core. There is a part of the Windows operating system called the 'scheduler' which tells the CPU what program to be running at any given time. This allows several programs to run at the same time, while the processor switches back and forth between them as needed. When a lot of programs are running, a computer can begin to seem slow, since Windows' scheduler is having to divert the computer's CPU resources in many directions. If a dual-core processor is present, the scheduler suddenly has twice as much CPU resource to work with. This would allow for things like being able to run one core specifically for a game, while using the other core to do "background" things that keep the rest of the system running. Sometimes both cores can even work on the same program (if it is designed to take advantage of more than one core - this is called being "multi-threaded"). However, it is important to note that if you are running a single program and it is not "multi-threaded", you will not see a benefit from more than one CPU or core. Dual Core Implementation Because of the different ways AMD and Intel came into the dual-core market, each platform deals with the increased communication needs of their new processors differently. AMD claims that they have been planning the move to dual-core for several years now, since the first Athlon64s and Opterons were released. The benefit of this can be seen in the way that the two cores on their processors communicate directly -- the structure was already in place for the dual cores to work together. Intel, on the other hand, simply put two of their Pentium cores on the same chip, and if they need to communicate with each other it has to be done through the motherboard chipset. This is not as elegant a solution, but it does its job well and allowed Intel to get dual-core designs to the market quickly. In the future Intel plans to move to a more unified design, and only time can tell what that will look like. Intel did not increase the speed of their front-side-bus (the connection between the CPU and the motherboard) when they switched to dual-core, meaning that though the processing power doubled, the amount of bandwidth for each core did not. This puts a bit of a strain on the Intel design, and likely prevents it from being as powerful as it could be. To counteract this effect, Intel continues to use faster system memory to keep information supplied to the processor cores. As a side note, the highest-end Intel chip, the
Pentium Extreme Edition 955, has a higher front-side-bus speed, as well as having a larger (2MB per core) cache memory and the ability to use Hyperthreading (which all non-Extreme Edition Pentium D processors lack). This makes it a very tempting choice for those wanting to overcome some of the design handicaps of Intel's dual-core solution. AMD, on the other hand, does not use a front-side-bus in the traditional sense. They use a technology called HyperTransport to communicate with the chipset and system memory, and they have also moved the memory controller from the chipset to the CPU. By having the memory controller directly on the processor, AMD has given their platform a large advantage, especially with the move to dual-core. The latest generation of AMD single-core processors can use singleor dual-channel PC3200 memory, but it is interesting to note that even though dual-channel operation doubles the memory speed, it does not double the actual memory performance for single-core processors. It appears that dualchannel memory just provides significanly more bandwidth than a single processor core can use. However, with dual-core processors all that extra bandwidth can be put to good use, allowing the same technology already present in single-core chips to remain unchanged without causing the same sort of bottleneck Intel suffers from. AMD Performance Comparison To compare performance differences here at Puget Custom Computers, we compile a selection of benchmarks taken from systems we have built in the past. This comes in very useful when looking to answer questions about performance, like we're doing here! We will tackle AMD first:
This is a comparison of two systems with virtually identical hardware. The video card and hard drive used were the same brand and model. The amount of RAM is identical (2x 1GB PC3200) with the only difference being that the Opteron system used ECC memory. The real differences were just the motherboard and CPUs. For the Opteron system we have 2 model '248' processors running at 2.2Ghz each with 1MB of cache. They are running on a Tyan Thunder K8WE board, which uses an nVidia nForce Professional chipset. The single-CPU solution is an Athlon64 X2 4400+, with two cores each running at 2.2Ghz and each sporting a 1MB cache. This processor was installed in an Asus A8N-SLI Premium motherboard, utilizing an nVidia nForce4 SLI chipset. As you can see, graphics performance is very similar, with 3dMark05 scores only 1 point apart and less than 4% variation in the 3dMark'03 scores. Looking closer, we can also see that the important specific metrics in PCMark04 are very similar as well -- the biggest difference is seen in the additional overhead of ECC impacting the memory performance. All around, I would say that with the AMD platform there is little noticeable difference between dual-core and dual processors. Which is great news, because no matter which setup you choose you get the same power! For those with plenty of money to burn, it is also common for us to build a AMD Opteron system with a dual CPU motherboard, and using a dual core CPU in each socket. That gives a grand total of four functional CPU cores! This setup is especially desirable if you need to have multiple heavy duty applications open (CAD, video editing, and modeling come to mind) - just make sure you complement those processors with plenty of memory. Intel Performance Comparison
For Intel, we have compiled a comparison between a pair of Xeon 3.0Ghz CPUs with 1MB cache each and a single Pentium D 830. The Pentium D has two cores with each running at 3.0Ghz with 1MB of cache.
Furthermore, both setups use an 800Mhz front-side-bus to communicate with the motherboard. Again, the motherboards themselves are different but each system has the same amount of memory (2GB) and similar video cards (GeForce 6800GT 256MB). There is a little more variation between these two systems because the memory is configured differently: the Xeon is using two sticks of 1GB PC3200, while the Pentium is using 4 sticks of 512MB PC2 5400. This gives the Pentium D a definite advantage in overall memory bandwidth available, but that is a very tangible benefit of using the Pentium D line. Intel has not yet, as of this writing, updated its Xeon processors and their chipsets to handle higher speed RAM. Here again we see fairly close performance in graphics, with the Xeon system in a very slight lead. In more performance-oriented tests, however, we see the Pentium system tending to pull ahead by a fair margin. This is most likely due to its significant memory speed advantage, but again this is a very valid and important result. The RAM that was used in the Pentium D system is standard for that platform, but even if we wanted to, we could not build a Xeon setup with the same speed of memory. So while the processors may be very comparable in performance the overall win definitely goes to the Pentium D dual-core platform. Conclusion
As you can see, the move to dual-core is definitely a win for consumers. Since they are more affordable than dual processor computers, but offer the same or better performance, they are becoming the standard for modern computer systems.