# How are GHz in multicore processors computed? [duplicate]

Possible Duplicate:
How fast is each core in a dual-core processor?

I am debating between two systems (for simplicity):

(1) 2.9 GHz dual core processor

(2) 2.3 GHz quad core processor

Now, when I am considering this, I have a few specific questions I would like to answer.

First, how are the 'numbers' (the frequencies) really calculated and what do they mean? For the 2.9 GHz dual core, does that mean that each core is clocked at around 2.9 GHz or does that mean that each core is clocked at 2.9/2 = 1.45 Ghz? In the same way, does the quad core give a 'net' 2.3 GHz speed or is each core literally going at 2.3 GHz?

My hunch from things I have read online is that each core is actually going at the specified speed (I know that you cannot get 12 GHz from a quad core 3 GHz system unless your code is perfectly linear in parallelization).

My other question is, suppose that you have code running purely in parallel. At what point does an extra core enable that code to go faster simply because there is less OS (and other background task) interference?

For example, if I had the choice of 2.6 GHz dual core or 2.5 GHz quad core, even for single threaded programs, I would assume that the 2.5 quad core would go faster because the single thread will be interrupted less by other programs (including the OS).

-

## marked as duplicate by Journeyman Geek♦, Keltari, soandos, Simon Sheehan, BinaryMisfitJan 24 '13 at 6:40

Thanks, I read that question as well as others, but my question also references how the OS and background applications would affect a single threaded application. – drjrm3 Jan 24 '13 at 1:22
@Laurbert515 - Your other question would depend on how the software was designed. If you were worried about single threaded performance then the 2.6 Ghz dual core processor would be better. If you talking about overall performance beyond a single thread the 2.5 GHz would be better. – Ramhound Jan 24 '13 at 1:44

For the 2.9 GHz dual core, does that mean that each core is clocked at around 2.9 GHz or does that mean that each core is clocked at 2.9/2 = 1.45 Ghz? In the same way, does the quad core give a 'net' 2.3 GHz speed or is each core literally going at 2.3 GHz?

You never, ever, ever add speeds that way. Two cars each going 50 miles an hour does not make anything go at 100 miles per hour, period. If the CPU has a core speed of 2.9 GHz, that means you can clock it at 2.9 GHz, that is, its clock can cycle 2.9 billion times each second.

For example, if I had the choice of 2.6 GHz dual core or 2.5 GHz quad core, even for single threaded programs, I would assume that the 2.5 quad core would go faster because the single thread will be interrupted less by other programs (including the OS).

That's a nonsense question. You can't compare different CPUs based on their clock speeds. It's like saying "you have one vehicle with a 10 gallon fuel tank and one with a 12 gallon fuel tank, which can go further on a tank of gas?" Well, it depends how much they weigh, how big their engines are, and so on.

Never compare CPUs based on clock speeds unless they are otherwise identical. And clearly a dual core and a quad core are very different.

If you imagine two CPUs that differ only in that one is a 2.6 GHz dual core and one a 2.5 GHz quad core, likely there will be no significant different running a single-threaded program, assuming the system isn't heavily loaded by other programs. It's very unlikely that OS overhead would max out a core, and in either case you have at least one core available for OS tasks like disk I/O and interrupts. If the limiting factor is memory bandwidth, for example, more cores don't help.

That said, more cores are almost always better than fewer cores, other things being equal. For a desktop machine, I can't see any point in a dual-core. And, looking towards the future, more and more software will know how to take advantage of more cores.

-
I have heard the cars analogy and disagree. For someone who knows what they are doing, you can effectively consider 2 cars going at 50 mph to be one car going at 100 mph (say you are trying to take 10 people to a location, making ONE trip with 2 cars will be much better than 2 trips with one car - effectively doubling the speed at which all ten people get there). – drjrm3 Jan 24 '13 at 1:30
@Laurbert515 - Whom ever you heard the car analogy from had no idea what they were talking about. How you calculate the frequency of a single CPU core is the same way you calculate the frequency CPU with multiple cores. So you understand a 2.4GHZ quad core means each core is clocked at that frequency.**I know that you cannot get 12 GHz from a quad core 3 GHz system** Actually this is 100% false. – Ramhound Jan 24 '13 at 1:42
@Laurbert515: Sure, it doubles the speed at which all ten people get there. But that's not a speed that can be measured in miles per hour. That's a speed that might be measured in "people per hour" or maybe the time is halved. But it makes absolutely no sense at all the add the speeds. Nothing is going 100 miles per hour when two cars go 50 miles per hour. – David Schwartz Jan 24 '13 at 1:52
Just a tiny nitpick. They have a maximum of 2.9GHz; power management will clock down the cores during idle periods. – Ignacio Vazquez-Abrams Jan 24 '13 at 1:58
If the two cars are speeding towards or away from each other then the gap between them grows or decreases at 100 mph. – Sam Axe Jan 24 '13 at 1:59