Is GHz not uniformly scaled across CPUs? 5 year old CPU vs. new

GoodEnough

Golden Member
Apr 24, 2011
1,547
19
81
In other words, a 2009 CPU like Intel Pentium T4500 is 2.3 GHz

Yet, a 2014 CPU like Intel® Core™ i3-4010U is only 1.70 GHz. Yet, clearly they aren't the same speed, and the 2014 is generally faster than the 2009. What exactly is GHz measuring, and why does it not directly correlate with CPU speed?

This has always bugged me. Does the # of cores come into play? Just looking to learn the basics here.
 

Burpo

Diamond Member
Sep 10, 2013
4,223
473
126
Instructions Per Cycle improve every generation, so the new generation at 1.7Ghz does more than the old at 2.3Ghz..
 
Last edited:

NTMBK

Lifer
Nov 14, 2011
10,423
5,727
136
GHz is the number of times the processor can execute a "cycle" every second- 2GHz means it performs 2,000,000,000 cycles a second. But the amount of work that a processor can do in a cycle varies from processor to processor. A big modern CPU core like one from your i3-4010U is very "wide"- it can perform several different calculations simultaneously. So even though it executes fewer cycles per second, it can perform more work per second. The amount of work which a CPU can perform per cycle is referred to as Instructions Per Cycle, or "IPC".

Your i3-4010U also has a lot more cache than your Pentium- the Pentium had 1MB, while the i3 has 3MB. This means it can get data out of memory and into the processor much quicker, which keeps the processor busy and lets it finish its work more quickly.
 

CoPhotoGuy

Senior member
Nov 16, 2014
452
0
0
Basically it's improving the efficiency of doing the work. So in one clock cycle, the newer CPU's are more efficient and can process things faster or differently to accomplish more work. New and better instruction sets, etc. Years and years ago, the instruction set was not changing as much so performance correlated to MHz far closer than it does today.
 

witeken

Diamond Member
Dec 25, 2013
3,899
193
106
So basically you're asking what gives a CPU the performance is it has. There are a few things that come into play here:

1) Clock speed. For a CPU this is most important. The frequency determines how many times a transistor can switch between 0 and 1 every second. If it is higher, your transistors can do more work in a second.

2) Microarchitecture. Not every CPU is created equal. There are many things that make up the microarchitecture, like branch predictors, you also have the caches etc., but you can get a rough idea by looking at how superscalar it is: a simple ARM microarchitecture may have an in-order single issue pipeline. Dual-issue is still mediocre. Out-of-order and 3-issue or wider is high-end in smartphones and then you have Cyclone and then Core.

3) ISA; the instruction set. There are ~3 important ISAs: x86, ARM and MIPS. Some architectures support instructions that can significantly boost certain... instructions. A recent example would be TSX in Haswell, which improves multicore performance. AVX2 improved FLOPS throughput. Broadwell will also add a couple instructions which you can read on Wikipedia.

4) Number of cores / hyperthreading. If the software can make use of more cores, performance will also be increased.

5) Turbo: can improve performance for a limited amount of time.

Etc.
 
Last edited:

jhu

Lifer
Oct 10, 1999
11,918
9
81
Different architectures can execute more instructions at the same clock:
Toms-conclusion.png


Car analagy: How can a 200 HP car from today use less fuel than a 200 HP car from 1970? Better aerodynamics, lighter materials used, gasoline direct injection instead of carburetor, hybrid systems, auto start/stop, variable valve timing, etc.
 
Last edited:

GoodEnough

Golden Member
Apr 24, 2011
1,547
19
81
Ok, so GHz is a fairly meaningless metric, unless you controls for other performance variables such as : # of cores, cache size, architecture set, etc.
 

jhu

Lifer
Oct 10, 1999
11,918
9
81
Ok, so GHz is a fairly meaningless metric, unless you controls for other performance variables such as : # of cores, cache size, architecture set, etc.

It's not meaningless. It's just only a valid method of comparing performance across a given architecture. e.g. a 3GHz Sandy Bridge CPU is faster than a 2.5 GHz Sandy Bridge CPU. That same 3 GHz Sandy Bridge may not necessarily be faster than a 2.5 GHz Broadwell CPU.
 

jacktesterson

Diamond Member
Sep 28, 2001
5,493
3
81
Ok, so GHz is a fairly meaningless metric, unless you controls for other performance variables such as : # of cores, cache size, architecture set, etc.

Not meaningless, just one variable.

Overclocking the chip frequency can yeild large gains in performance, for example.
 

witeken

Diamond Member
Dec 25, 2013
3,899
193
106
GHz is a fairly meaningless metric for performance (benchmarks are more useful) when you compare against different architectures. With the same architecture, you also have to consider TDP.
 

GoodEnough

Golden Member
Apr 24, 2011
1,547
19
81
It's not meaningless. It's just only a valid method of comparing performance across a given architecture. e.g. a 3GHz Sandy Bridge CPU is faster than a 2.5 GHz Sandy Bridge CPU. That same 3 GHz Sandy Bridge may not necessarily be faster than a 2.5 GHz Broadwell CPU.
That's what I meant by "controlling for other variables"
 

Danrr

Member
Dec 8, 2014
53
0
16
I had this same question, now is answered.

But now I have another one, are we going to see sometime in the future a 5.0 Ghz CPU? or the other variables will always get better so a higher clock is not needed?

Thanks and sorry for hanging to your post lol.
 

witeken

Diamond Member
Dec 25, 2013
3,899
193
106
I had this same question, now is answered.

But now I have another one, are we going to see sometime in the future a 5.0 Ghz CPU? or the other variables will always get better so a higher clock is not needed?

Thanks and sorry for hanging to your post lol.

Who knows? It depends on some factors. Firstly, what does Intel want to achieve? Intel is now clearly only interested in performance per watt, so they will do what best improves performance with the least increase in power. (They design Core with TDPs in mind from 3.5 to 140W.) That will be difficult with clock speed increased, because they have an exponential relationship. Architectural improvement won't give too much extra performance anymore, though, so you can't only rely on that for higher performance.

Here a discussion about the topic: http://www.intel.com/pressroom/kits/core2duo/pdf/epi-trends-final2.pdf

There might be a 5GHz CPU, but we don't know. If some post-silicon process delivers high speed, it will be possible. You can increase clock speed by making the pipeline longer, but that might come with the a decreased performance per clock and since the performance per watt of higher clock speed becomes worse, that isn't a good solution.
 

Justinbaileyman

Golden Member
Aug 17, 2013
1,980
249
106
Wow this is a great topic and I have been wondering about a lot of this as well.
So how does memory speed effect all this GHz speed. Cause it used to be high memory speed with tighter timings and now it seems they change to higher memory speed but with super slow timings.
 

Danrr

Member
Dec 8, 2014
53
0
16
Who knows? It depends on some factors. Firstly, what does Intel want to achieve? Intel is now clearly only interested in performance per watt, so they will do what best improves performance with the least increase in power. (They design Core with TDPs in mind from 3.5 to 140W.) That will be difficult with clock speed increased, because they have an exponential relationship. Architectural improvement won't give too much extra performance anymore, though, so you can't only rely on that for higher performance.

Here a discussion about the topic: http://www.intel.com/pressroom/kits/core2duo/pdf/epi-trends-final2.pdf

There might be a 5GHz CPU, but we don't know. If some post-silicon process delivers high speed, it will be possible. You can increase clock speed by making the pipeline longer, but that might come with the a decreased performance per clock and since the performance per watt of higher clock speed becomes worse, that isn't a good solution.

Thanks for your replay, it seems is not that straight forward than I thought, the article you link to me is highly technical (can't understand many things) but it gave me some background thanks.
 

Denithor

Diamond Member
Apr 11, 2004
6,298
23
81
I think you're asking will there ever be a retail CPU clocked at 5GHz? Because it's quite possible to overclock a CPU to run 5GHz (or even much, much higher - just search for CPU overclock LN2 and you can get a good chuckle). It is possible, but keep in mind that higher clock speeds typically demand more energy to remain stable, meaning they run hotter and consume more power - so the current push toward more computing power per watt tends to run against higher clockspeeds.

Regarding memory, since the memory controller went on-chip, memory speed and especially timings have had a much smaller impact on CPU performance. The CPU now also has so much cache available that it is able to minimize direct access to system memory (which, even at the highest speeds available today, offers far lower bandwidth than on-die cache).
 

Lepton87

Platinum Member
Jul 28, 2009
2,544
9
81
Actually it's been some time since the first CPU clocked at 5GHz became available.The first CPU clocked at 5GHz was an IBM's power 6 CPU. They maxed out at 5GHz and the newest Power 8 CPUs also max out at 5GHZ while Power 7 fell a bit short maxing out at 4.25GHZ. Also the fastest AMD's CPU can clock a single core at 5GHz and all cores at 4.7GHz.
 

biostud

Lifer
Feb 27, 2003
19,768
6,851
136
I had this same question, now is answered.

But now I have another one, are we going to see sometime in the future a 5.0 Ghz CPU? or the other variables will always get better so a higher clock is not needed?

Thanks and sorry for hanging to your post lol.

AMD has made a 5Ghz CPU (4.7/5.0Ghz Turbo) AMD FX-9590

http://www.anandtech.com/show/8316/...l-the-fx9590-and-asrock-990fx-extreme9-review

It just uses a lot of energy and is not as efficient pr. clock as Haswell.
 

SlowSpyder

Lifer
Jan 12, 2005
17,305
1,002
126
I had this same question, now is answered.

But now I have another one, are we going to see sometime in the future a 5.0 Ghz CPU? or the other variables will always get better so a higher clock is not needed?

Thanks and sorry for hanging to your post lol.


I run my CPU at 5.2GHz. ;)


Wow this is a great topic and I have been wondering about a lot of this as well.
So how does memory speed effect all this GHz speed. Cause it used to be high memory speed with tighter timings and now it seems they change to higher memory speed but with super slow timings.

Your ram runs independently of your CPU. Your CPU also has an on die cache that acts as a buffer between the memory and CPU. As the CPU goes faster and clocks higher, it'll need faster access to system memory to perform up to it's capability. But above a certain threshold your memory bandwidth is already fast enough to keep up with the CPU's needs. APU's have the graphics processor on board with the CPU and need lots of bandwidth since the CPU and GPU share, and DDR3 isn't all that fast compared to memory found on a discreet graphics card.
 

witeken

Diamond Member
Dec 25, 2013
3,899
193
106
Thanks for your replay, it seems is not that straight forward than I thought, the article you link to me is highly technical (can't understand many things) but it gave me some background thanks.

I wrote my reply pretty quick, so if you have some questions, I could try to answer them. But basically, because CPUs are mostly serial processors (which means that a lot of the processes that are intended to run on them do not indefinitely benefit from more cores), there are only so many ways to improve the performance per clock -- through architecture updates -- before it becomes easier to simply increase the frequency. But because that is not efficient (a 2x increase has a 4-8x increase in power), CPUs will need a production process that can achieve higher clock speeds if we want meaningfully higher performance, but we don't know if and when such a process will appear. Mabye 10nm.
 

Danrr

Member
Dec 8, 2014
53
0
16
@biostud

Thanks for pointing that out.

@Denithor

Yes that's what I meant to ask.

@Lepton87

Thanks yes I meant commercially available

@witeken

Thanks for your explanation and helpful answers I've learned a lot!
 
Last edited:

Concillian

Diamond Member
May 26, 2004
3,751
8
81
Wow this is a great topic and I have been wondering about a lot of this as well.
So how does memory speed effect all this GHz speed. Cause it used to be high memory speed with tighter timings and now it seems they change to higher memory speed but with super slow timings.


Timings are not actually super slow.

Most people remembering this are thinking back to original A64 days when PC3200 / DDR400 was around. These were often CAS3, but tight timings were CAS2 and this made a big difference.

Latency is measured in number of clock cycles, which is really difficult to make comparisons at different memory speeds. So we should convert timings to units of time, which can easily be directly compared. DDR400 runs at 200 MHz (which is 1/time) So CAS 2 uses 2 of these clock cycles, which takes 2/200 MHz seconds (10 ns). If 2 cycles is 10 ns, then CAS 3 latency is obviously 15 ns.

Take a modern memory with "super slow timings" Say a DDR3 2400 kit. These come in CAS 11 and some are low latency CAS 10. To compare to DDR 400, we convert these to units of time:
CAS 11 = 11 / 1200 MHz = 9.16 ns
CAS 10 = 10 / 1200 MHz = 8.33 ns

So these "super slow timings" of 10 and 11 clock cycles are actually tighter than the "tight timings" of yesterday since clock cycles are 6 times faster than they were then, but number of cycles is less than 6 times higher. In other words, you need to ratio the latency to the memory speed in order to compare across different memory speeds.

In general, memory frequency rises over time with new products and process refinement, but latency changes are much less dramatic. It is a common misconception that latency is worse, but that's only because the units used are not able to be compared directly unless you're comparing kits running at the same speed.
 
Last edited:

DrMrLordX

Lifer
Apr 27, 2000
22,744
12,743
136
In general, memory frequency rises over time with new products and process refinement, but latency changes are much less dramatic. It is a common misconception that latency is worse, but that's only because the units used are not able to be compared directly unless you're comparing kits running at the same speed.

Latency can be measured in ns or in cycles. It is often more informative to examine latency in cycles rather than in ns, since this gives us some meaningful idea of how long the CPU could be waiting before the memory subsystem can handle a read/write operation issued by the CPU. Given a 4 ghz CPU with a memory latency of X ns and a 1 ghz CPU with a memory latency of X ns, the 4 ghz CPU is waiting four times as long as the 1 ghz CPU for memory response in terms of the number of idle cycles it could be suffering during that time. When measured in ns, it looks the same, but it really isn't the same at all.

The matter is further complicated by multicore CPUs served by one memory controller and one bank of memory. Can the memory controller service multiple overlapping requests for reads or writes from different cores, assuming the requests would not saturate the available memory bandwidth? I don't know enough about modern imc design to definitively answer that question.

But, to go back to what SlowSpyder was saying, bandwidth isn't everything. Latency matters, and when it comes to latency, latency in cycles is usually more important than latency in ns. The ability of a processor to scale upward is often affected by cache and RAM latency in situations where raw bandwidth is not the issue.
 

VirtualLarry

No Lifer
Aug 25, 2001
56,574
10,210
126
The matter is further complicated by multicore CPUs served by one memory controller and one bank of memory. Can the memory controller service multiple overlapping requests for reads or writes from different cores, assuming the requests would not saturate the available memory bandwidth? I don't know enough about modern imc design to definitively answer that question.

AM2 / AM3 had a setting for the dual-channel memory controller, where both 64-bit channels could act together as a single 128-bit channel (ganged), or as two independent 64-bit channels (unganged). I had always heard that unganged was best for quad-cores.