Jun 20, 2014

How does the number of cores impact CPU performance?

How does the number of cores impact CPU performance? I understand the basic premise that more is better, but how does adding cores actually work versus simply having a CPU with a faster clock speed? Is it a more efficient design choice for improving performance from the user perspective?

Multi-core processor

"A multi-core processor is a single computing component with two or more independent actual central processing units (called "cores"), which are the units that read and execute program instructions.[1] The instructions are ordinary CPU instructions such as add, move data, and branch, but the multiple cores can run multiple instructions at the same time, increasing overall speed for programs amenable to parallel computing.[2] Manufacturers typically integrate the cores onto a single integrated circuit die (known as a chip multiprocessor or CMP), or onto multiple dies in a single chip package.

Processors were originally developed with only one core. Multi-core processors were developed in the early 2000s by Intel, AMD and others. Multicore processors may have two cores (dual-core CPUs, for example AMD Phenom II X2 and Intel Core Duo), four cores (quad-core CPUs, for example AMD Phenom II X4, Intel's i5 and i7 processors), six cores (hexa-core CPUs, for example AMD Phenom II X6 and Intel Core i7 Extreme Edition 980X), eight cores (octo-core CPUs, for example Intel Xeon E7-2820 and AMD FX-8350), ten cores (for example, Intel Xeon E7-2850), or more. A multi-core processor implements multiprocessing in a single physical package. Designers may couple cores in a multi-core device tightly or loosely. For example, cores may or may not share caches, and they may implement message passing or shared memory inter-core communication methods. Common network topologies to interconnect cores include bus, ring, two-dimensional mesh, and crossbar. Homogeneous multi-core systems include only identical cores, heterogeneous multi-core systems have cores that are not identical. Just as with single-processor systems, cores in multi-core systems may implement architectures such as superscalar, VLIW, vector processing, SIMD, or multithreading."

More cores are in theory more efficient because they allow for an increase in processing power without the same increase in power requirements that would be necessary from a faster clock speed. So, for example, a 1.5Ghz dual core CPU may offer performance equal to a 2.0Ghz single core CPU, but with lower power requirement and less heat generation. This is particularly important in tablet and smartphone design. Note that the 1.5/2.0Ghz numbers are just an example I made up off the top of my head, so that particular comparison may not be accurate. However, unless both the OS and software make use of the multi core architecture, you will not really see a benefit. 

Answer this