Multi-core CPU: can I say I have a 3x2.1GHz=6.3GHz CPU?

Solution 1:

Multi-core CPU:s can perform several actions per clock cycle, loosely speaking. The clock speed is measured in Hz, and it is not correct to say that it is tripled just because you have more cores.

Everyone loves car analogies! A three-file motorway as compared to a one-file motorway with the same speed limit will not predictably enable you to arrive at your destination three times faster.

If you run perfectly parallelizable processes, then a three-core CPU can effectively perform operations at three times the capacity of a single-core CPU at the same clock speed ("all motorway lanes filled").

However, subsequent CPU operations often depend on previous ones and thus can not be run in parallel. With a perfectly linear process, you will only be able to do calculations on a single core at a time, and thus effectively be identical in processing speed to a single-core CPU.

Therefore it is very incorrect to say that 3-core CPU @ 2.1GHZ = 6.3GHz.

For further information, see

  • http://en.wikipedia.org/wiki/Multiprocessing
  • http://en.wikipedia.org/wiki/Multi-core_processor

EDIT to address your question edit. Quoting myself from above:

Therefore it is very incorrect to say that 3-core CPU @ 2.1GHZ = 6.3GHz.

No, you do not have a 6.3GHz CPU. It would perhaps be something that someone without technical knowledge in a marketing department that tries to sell you new hardware would say, but it is false.

Solution 2:

Your processor has 3 cores, each running in parallel at 2.1Ghz currently

(as per the specs, it can be variable from 2.1-2.4Ghz)

Solution 3:

I will boldly go against the consensus here and argue it is perfectly fine to say the frequency has tripled. Here is why.

Frequency is not a CPU specification. It is a physical quantity, the reciprocal of time, and it can be used to express a large number of variables. The number of clock ticks per unit time, how many decimals of pi it can calculate per unit time, how often it needs replacement and its angular velocity when you throw the processor around like a frisbee, are all frequencies of your CPU. The unit Hz simply counts the number of events per second, but doesn't specify what event you are counting.

In the context of CPUs, 'frequency' usually means clock rate. This value is not increased by additional cores. Counting the grand total of clock ticks per second in every core, however, will get you a number three times as large as the clock rate. Likewise, putting a second noisy clock up on the wall does not make time go twice as fast, yet I can hear twice as many ticks per second as before.

What if two out of three cores are idle and the other one barely has enough to do to keep the computer running? Most clock cycles will pass without the processor doing work. In your screenshot, it's effectively doing about 84 million operations a second. That's also a frequency.

When bragging about your hardware, these values aren't particularly useful. But even when talking hard numbers and specifications, 'frequency' can mean a number of things: CPU cycles per unit time, front side bus speed, floating point operations per second...

To be clear, clock rate multiplied by number of cores is not the frequency by which 'we' measure the speed of a processor, but to say it's wrong is something else entirely.