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

5,875

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


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

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.

Solution 3

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 4

Akash answer is correct but I am willing to make it more clear.

Speed is not same as frequency, frequency is not speed and speed is not frequency.

You are asking about speed but talking about MHz which is frequency unit. Actual speed depends on how each core processes instructions, do they need to wait for each other and do they use common memory or does all cores have reserved cache. You can make use of all cycles only if there is three separate threads so that all cores process instructions at same time.

Of course, if you are only counting overall cycles, you could say that your CPU speed is
3 (cores) * 2100 MHz (frequency for each) = 6 300 000 000 Hz
which means there is overall 6 300 000 000 cycles per second.

UPDATE:

You can't say you have 6,3GHz CPU but you can say that in theory you processor can go 6300000000 cycles per second but frequency stays at 2,1GHz for individual cores (2100000000 cycles per secod). You need to say that you have three 2,1GHz processors (or cores as often when speaking about processor it means separate individual units) if one core runs at 2,1GHz and you got three of them.

If you say that you have 6,3GHz CPU it could do 6300000000 cycles/second for single thread and that is not case with your 3*2,1GHz CPU.

Share:
5,875

Related videos on Youtube

Sourav
Author by

Sourav

Updated on September 18, 2022

Comments

  • Sourav
    Sourav over 1 year

    I have an AMD A6-3500 three-core CPU. AMD System Monitor shows each core with a maximum 2100 MHz. This also shows in AMD OverDrive.

    Does this processor run at the speed 3*2100 MHz?

    AMD System monitor showing 2100*3 MHz

    Edit

    Can I say that I have got a 6.3 GHz processor?

    • rob
      rob about 12 years
      No, but you could say you have a 6.3 GHz* processor. ;)
    • rob
      rob about 12 years
      *3 cores @ 2.1 GHz per core
    • Sampo Sarrala - codidact.org
      Sampo Sarrala - codidact.org about 12 years
      You can't say that you have 6,3GHz processor if it runs at 2,1GHz. Even if there is 3 cores running at 2,1GHz it does not change frequency (not for one and not for overall as there is not such thing as overall frequency, it's parallel not serial). In theory it may do things as fast as one 6,3GHz (serial) core but still in your case there is 3 cores (parallel) running at 2,1GHz frequency.
    • rob
      rob about 12 years
      That's why you include an asterisk and wink when you say it.
    • David Schwartz
      David Schwartz almost 8 years
      Say you have three cars all going 50 miles per hour. Nothing is going 150 miles per hour. It does not make sense to add speeds this way.
    • MattJenko
      MattJenko almost 7 years
      @DavidSchwartz, that depends. If you are talking about ferrying people, then 3 cars ferrying 4 people per trip @ 50mph could move as many as one car ferrying 4 people per trip @ 150mph. In this metric, total throughput is the important part. My point is that, for very parallel workloads, the throughput between a 6.3GHz processor and 3x2.1GHz processors might be virtually identical. The clock cycle is slower on the latter, but it gets three instructions completed per clock cycle, as opposed to having a clock cycle that is 3 times as fast.
    • David Schwartz
      David Schwartz almost 7 years
      @MattJenko The throughput between a 6.3 GHz processor and a single 2.1 GHz processor might be virtually identical if the 2.1 GHz processor averages three times as many instructions per clock. It's still running at 2.1 GHz.
    • MattJenko
      MattJenko almost 7 years
      @DavidSchwartz Indeed, which is why I usually find comparing GHz between architectures useless. I think the important thing to mention here is that, while you may have the same max throughput, there are caveats. If you have a non-parallel workload, then 6.3GHz will be WAY faster. If you have an embarrassingly parallel workload, the 3x2.1GHz may be a little bit faster, and will likely have less latency to user input (less context switching due to the ability to dedicate two cores solely to the foreground process).
  • Sourav
    Sourav about 12 years
    They why does is hows core1-2100MHz, core2-2100MHz, core3-2100MHz :(
  • Sourav
    Sourav about 12 years
    +1 For your answer :) I've changed the question slightly, please read it !
  • Sourav
    Sourav about 12 years
    +1 For your answer :) I've changed the question slightly, please read it !
  • Sourav
    Sourav about 12 years
    +1 For your answer :) I've changed the question slightly, please read it !
  • Akash
    Akash about 12 years
    @Sourav You can say that you have a 6.3 GHz processor only if you are running what is known as an "embarrasingly parallel" problem. If you are running 3 entirely independant tasks on the 3 cores, then yes, the effective speed can be said to be equivalent to a 6.3GHz processor. But such tasks are rare and usually you wont encounter them
  • Sourav
    Sourav about 12 years
    I'm eager to encounter them, tell me how :)
  • Akash
    Akash about 12 years
    @Sourav The wikipedia article is a good resource en.wikipedia.org/wiki/Embarrassingly_parallel
  • Sampo Sarrala - codidact.org
    Sampo Sarrala - codidact.org about 12 years
    Updated answer to reflect your changes to question.
  • Sampo Sarrala - codidact.org
    Sampo Sarrala - codidact.org about 12 years
    @Sourav To be clear this (embarrassingly parallel) is three separate serial tasks (each doing it's own operation that does not depend on other tasks) running at same time and therefore called parallel. That however does not change core frequency to anything, processing could be as fast as with one 6,3GHz serial task but frequency is still same. Speed is not frequency and frequency is not speed.
  • tvdo
    tvdo about 12 years
    @Sampo Instructions and cycles are not interchangeable... (last sentence)
  • Daniel Andersson
    Daniel Andersson about 12 years
    As you say: "In the context of CPUs, 'frequency' usually means clock rate.". By saying that the CPU is 6.3GHz, one has redefined the implied measured quantity "without telling". To say "It can perform operations at 6.3GHz with perfectly concurrent processes" is correct, but it is "marketing speak" (more correctly, marketing speak would probably skip mentioning the re-definition at all). Your last statement boils down to defining "right" and "wrong", and in this context, without specifying further, I would say "6.3GHz" is "wrong", since the question in itself has defined the context for "Hz".
  • Daniel Andersson
    Daniel Andersson about 12 years
    Note: "I would say '6.3GHz' is "wrong" - this is semantics and perhaps philosophy, and open to interpretation on an individual basis, and not within the scope of a comment field on this site :-) .
  • David Schwartz
    David Schwartz almost 12 years
    There are not 6300000000 cycles per second. There are 2100000000 cycles per second. Three cars going 50 miles per hour don't make anything going 150 miles per hour.
  • Sampo Sarrala - codidact.org
    Sampo Sarrala - codidact.org almost 12 years
    @David right, but they can carry same load. (three threads vs one thread)
  • Sampo Sarrala - codidact.org
    Sampo Sarrala - codidact.org almost 12 years
    @David another thing is that while all cores are running it is incorrect to say that "there are 2100000000 cycles per second" because there is actually 3*2100000000 cycles per second happening inside whole unit. Remember that there is three cores running at same time and therefore there is actually 6300000000 cycles per second happening inside one processor (three simultaneous cycles). Of course this does not mean that per core frequency is 6,3GHz, only that whole unit has done 6300000000 cycles after running for one second.
  • David Schwartz
    David Schwartz almost 12 years
    @Sampo: By that logic, there are dozens of things running at the same time at that speed. Each core is comprised of many execution units, all running at that same speed. You can't add speeds that way.
  • Sampo Sarrala - codidact.org
    Sampo Sarrala - codidact.org almost 12 years
    @David if clock makes one tick per second... how many ticks after three seconds? If there is three clocks, how many ticks you can hear then? Time (frequency) and parallel things (tick count) are different, that is how I think. Yes, there is three cores running same time, parallel, each doing 2100000000 cycles per second. At least in original question.
  • David Schwartz
    David Schwartz almost 12 years
    @Sampo: Why stop at two cores? There are multipliers running at 2100000000 cycles per second. There are logic units. There are barrel shifters. The speed, 2100000000 cycles per second, means that things runs at 2100000000 cycles per second. You can't multiply by the number of things. If I'm running at 3 miles per hour, my two arms are going at 3 miles per hour, so are my two legs, and my ears, my nose, my lips, my eyes, why not add all that up to get 27 miles per hour? Am I running at 27 miles per hour since all those things are at 3 miles per hour each? You can't add speeds like that.
  • my name is GYAN
    my name is GYAN about 4 years
    @Daniel Anderson What about threads? Do all the threads execute at the same clock rate? If I have 2 Core 4 threads 2GHz processor, do all the 4 threads will execute at 2GHz?