How are slower but newer CPUs better than older but faster CPUs?

GamingRigga

Honorable
May 27, 2012
31
0
10,530
I have been looking around and I can't find anywhere that explains the advantages of e.g. a 1.6GHz Dual-Core Intel i5 Processor is better than an Intel Celeron/Pentium/Core 2 Duo at a faster speed? I don't understand why ultrabooks have dual-core i5s as lower clock speeds but still cost over £600. Also, how can laptops with AMD dual-core processors at such slow speeds such as 1.5GHz be sold for £400 when you can get an i3 for less than £50 more? Some one explain to me please. Thanks in advance.
 
There's A LOT more to it than this, but basically, speed itself is only comparable in the same generation/manufacturer of CPU's. Otherwise, it's useless to try to compare the speeds of CPU's from different generations and different manufactures. Different generations and manufacturers = Different architectures (usually), meaning totally incomparable based on speed alone.

Just know that speed isn't everything. A 3.6 Ghz P4 would get destroyed be a 3.1 Ghz first gen Core CPU, for comparison, and it gets worse the newer you go (just for comparisons sake. I know that's not what you're talking about here).

Edit: This post is heavily edited from it's original form, lol, but I feel the explanation is better than it was at first.
 
there are two issues you have raised.
One is the performance per Ghz, if you consider that if different architectures carry out different numbers of instructions per clock cycle then you can easily see that a lower speed but with a better number of instructions per cycle could be faster than a higher speed with a lower number of instructions per cycle.
Following the end of the P4 the Ghz race was halted by processors that were able to do a lot more per cycle, hence the first core 2 duo's were faster than the fastest P4's.
The issue about price, is partly a branding issue, also the ultrabooks have other features that are charged for, i.e. thinness and lightness, and the thinness affects what processors can be fitted based on their thermal performance.
 

GamingRigga

Honorable
May 27, 2012
31
0
10,530
Thank you both for answering! I understand now that with a new line of processors there is a new, different architecture and other features of the processors are added, etc. Never really thought about the number instructions per cycle though, so that is something I will look into when I'm looking at a processor. Thanks again for you help :)
 


Don't bother looking into it as a buying decision, the benchmarks, processor to processor is all you need as cache and other elements come into play.
 

iamviveksri

Distinguished
Dec 12, 2009
2
0
18,510
can we give up the capacity and somehow increase the speed....... before i go to sleep with chrome loading 7 pages or just starting up?
please?
 

bigj1985

Distinguished
Mar 12, 2010
331
0
18,810
In terms of "ghz" this metric is only a valid measurement of speed when comparing processor of the same family/architecture. This is because IPC(Instrctions per clock) vary wildly from one processor architecture to another. For instance a "Sandy Bridge"(i.e intel 2600k) completes 30%+ more work in a single clock cycle than say a processor from AMD's Phenom 2 lineup (i.e P2 965 BE). Therefor whne comparing those 2 very different processors "ghz" would not be an accurate measurement of performance.

A 4.0ghz Sandly Bridge is going to be faster than say a 4.4 Ghz Phenom 2. WHen you start throwing in technologies like Hyper threading it gets even more confusing. Just remember that GHZ can only be a true measure of performance when comparing 2 different processors of the same exact architecture, core count, extensions, features, etc...
 

InvalidError

Titan
Moderator

From SB to IB and IB to Haswell, it looks more like 5-10% faster while using 10-20% less power unless you count Haswell's low-latency sleep state which Intel says will reduce the amount of power wasted going in/out of sleep by ~10X vs IB.
 
Assuming perfect core scaling and 100% full load, the simplified performance equation you can use to calculate the relative performance between two processors:

Theoretical Max Speed = (Instructions Per Clock * Clockspeed) * Number of Cores

So, going even from a Pentium 4 (3.4GHz) to a Core 2 Duo (1.7GHz), the Core 2 is faster, because the Instructions Per Clock of the Core 2 is SIGNIFICANTLY faster then the Pentium 4.

EG, assuming the Core 2 arch can do about 1.5x the Instructions Per Clock as the Pentium 4:

Pentium 4:
Theoretical Max Speed = (Instructions Per Clock * Clockspeed) * Number of Cores
Theoretical Max Speed = (1 * 3.4) * 1 = 3.4

Core 2:
Theoretical Max Speed = (Instructions Per Clock * Clockspeed) * Number of Cores
Theoretical Max Speed = (1.5 * 1.7) * 2 = 5.1

5.1 (Core 2) / 3.4 (Pentium 4) = The Core 2 is 1.5x the speed of the Pentium 4, using these figures. Even though you doubled the cores and halved the speed, the Core 2's superior IPC drives performance ahead of the "faster" Pentium 4.

Problem is, IPC generally isn't a flat number, and usually has to be reverse calculated from benchmarks. But you can usually "guestimate" the figure based on performance metrics.

EDIT

Interestingly, you see that the equation is associative, so reducing one component to maximize another generally doesn't yield significant performance changes. AMD's BD/PC was an example of this: IPC was reduced in order to increase the Number of Cores, which lead to typical performance about the same as their previous architecture. Its also worth noting that the more cores you have, the harder it is to attain maximum processor performance, so IPC increases will generally yield superior performance to the number of processing cores.
 

Josh Knight

Honorable
Jun 12, 2013
3
0
10,510
Theoretical Max Speed = (Instructions Per Clock * Clockspeed) * Number of Cores


Its starting to make some sense to me, but how could we find the IPC of a cpu?
 

InvalidError

Titan
Moderator

CPUs do not have any particular IPC. You have to calculate it for your specific load.

The exact IPC depends on the instruction mix in your load and how 'compatible' it is with the specific CPU you are using.

If you look at CPU diagrams, you see that various ALUs and other resources are divided between execution ports. If a given program tends to hit any given port in a disproportionate manner, the execution may slow down due to highly uneven load across ports. The way this affect each CPU depends on how many ports are capable of executing the instructions that are causing the backlog and how they are distributed between ports.

Other things that can affect IPC is how far ahead the CPU is capable of looking for stuff to do (look-ahead/reorder buffer), the size of the renamed register file, branch prediction accuracy, cache size and latency, prefetch algorithms, cache eviction algorithms, etc.

How all of these behave depends heavily on instruction mix, data structures, code structures, etc. so you will find just about as many IPC results for any given CPU as there are pieces of software out there. The results will usually be in the same general ballpark but rarely exactly the same.

You may not even be able to reproduce the same IPC figure on the same PC using the same software due to all the stuff that happens in the background that may mess with cache lines, context switches and other background stuff.

IPC is useful as a general performance/efficiency indicator but not something with universal meaning.
 

Josh Knight

Honorable
Jun 12, 2013
3
0
10,510
You may not even be able to reproduce the same IPC figure on the same PC using the same software due to all the stuff that happens in the background that may mess with cache lines, context switches and other background stuff.

IPC is useful as a general performance/efficiency indicator but not something with universal meaning.[/quotemsg]

Is there another indicator(s) that you would suggest? For example, what specifically makes a pentium d 945 at 3.4 ghz (which is what is in my dads computer now) slower than a core 2 duo e6320 (1.86 ghz) (in a friends computer). What technology advances allow that? I realize that ghz is not the best indicator for speed, what would you suggest is?
 

InvalidError

Titan
Moderator

The Pentium-D is based on Intel's Netburst (P4 Prescott) architecture - Intel's worst architecture ever where Intel sacrificed IPC and power for deep pipelines in an attempt to reach high clock speeds that never materialized.

While IPC may not be an absolute indicator, average/typical IPC still tells a fair bit of the story. Netburst delivers around 2.5 IPC while Core2 delivers closer to 3.2 and that puts them in two fairly different performance leagues when both operate at similar clock rates.

Core2 also has additional benefits from having two fully integrated CPU cores with shared L3 cache instead of two dies communicating over the AGTL+ FSB like the P4-D does.