• Competitor rules

    Please remember that any mention of competitors, hinting at competitors or offering to provide details of competitors will result in an account suspension. The full rules can be found under the 'Terms and Rules' link in the bottom right corner of your screen. Just don't mention competitors in any way, shape or form and you'll be OK.

Teach me about IPC

The numbers themselves a bit like ram in your system don't necessarily improve performance for all tasks as they increase so knowing that l1 cache is 32k might not actually be all the relevant. Really all you need to know is that the CPU caches are there for one reason only and that is to reduce the 'cost' be that time or energy of retrieving data from main memory.
Do all these CPUs have different sized Caches on them?
 
Yes not all cpu's have the same amount of cache. Or even the same number of caches so some cpus dont have l3 cache for example.
 
Do all these CPUs have different sized Caches on them?

Flash read computer system architecture (cpu cache). Then pluck out a few cpus from both intel and AMD, look at their spec. It will tell you, but theres so many flavours of generation you will grow tired quickly.
 
IPC is like trying to complete a Rubik's cube.

Take a regular guy, sweat pouring from his face because he's working so hard to figure it out. Even though his brain is at 100% and his hands are twiddling the thing round at 5GHz speeds, it takes him days to figure it out. This guy is called Intel.

Along comes another guy called AMD. Ultra high IPC. A couple of twists and the Rubik's cube is complete. He didn't even break a sweat.
 

This video from apple and Herr Jobs does a good job of explaining it, though i do find it laughable he tries to lay claim to the term "mhz myth".
 
Do all these CPUs have different sized Caches on them?
If you look at Ryzen 3000 you'll see the cache is way bigger than Intel's whateverlake CPUs, that's understood as partly a feature of the architecture, because Intel CPUs access the system memory much faster than Ryzen, so they benefit less from having more cache. It's similar to DRAM cache on SSDs though, if you can fit the work in the cache, then there's not much benefit from having more, but if you can't and it goes to RAM, then the performance impact is big. It seems likely that AMD chose a size that would address the memory access problem and match Intel's performance in most applications, especially in games where they were less competitive (AMD renamed L3 cache as gamecache). There are diminishing returns, if you put 256MB of cache in a much older Pentium CPU it would still be slower, because the newer architectures make up for the slower memory access.

"For gaming in particular, AMD claims that we should be seeing some large improvements – the doubled size of the L3 cache is said to have made a notable mark on a lot of gaming titles, with AMD claiming ~20% to even ~30% improvements in some titles when compared to the last generation Ryzen 2700X."
https://www.anandtech.com/show/14605/the-and-ryzen-3700x-3900x-review-raising-the-bar
 
IPC is Instructions Per Clock. its how much work a CPU can do at a given clock speed.

From the Cinebench thread, single core performance, so taking out multithreading and SMT.

Score 547: Intel Core i7 8700K at 5.2Ghz, Radox-0
Score 544: AMD Ryzen R5 3600 at 4.675Ghz, TNA

There is about half a percent difference in scores, so the same. the 8700K is running at 5.2Ghz to achieve that score, the Ryzen 3600 at 4.675Ghz, so the 8700K is clocked 12% higher to achieve the same score, so the IPC on the Ryzen 3600 is 12% higher.


Score 4125: AMD Ryzen R5 3600 at 4.5Ghz, RavenXXX2
Score 4124: Intel Core i7 8700K at 5.2Ghz, Chaos666

They are both 6 core CPU's with SMT, this time the Ryzen 3600 is achieving the same score as the 5.2Ghz 8700K, but with only 4.5Ghz, the 8700K is clocked 16% higher, an additional 4 percentage points, this is because the Ryzen 3600 has a more efficient SMT on top of the higher core IPC vs the 8700K. This can also be put down to IPC.
 
Why do you want to know?
IPC is not something generally nailed down and given a figure in cpu literature... well there are numbers out there but as IPC is code/situation dependant it doesnt mean all that much.

A good example is the current high end cpu's from intel and amd.
Zen2 has a higher IPC than refreshlake (whatever version we are on this week!) however its got a lower overall clock speed.
Zen2 ipc is circa what??? 8% or so over intels shambles so can get away with less clock speed and still be quick.
Ice lake is what?? supposed to be 10% or so improvement over that of zen2 - however its currently clocking crap due to intels 10nm process being rubbish so wont be a big winner if it doesnt find those clocks.
Zen3 is currently supposed to be 17 or so % faster than zen2 which is already sporting a good IPC rate. Add in maybe 10% better clocks for ryzen 4000 which is pushing it a bit but who knows... and well your actual performance improvement will be well past 20% - then you can look at the number of cores as well which may or may not take a hike.

Good analysis, though I would say that the Ryzen 4000 series won't have anywhere near 10% better clocks. 10% better at 4.5ghz (roughly) would be a 450mhz increase in clock speed which seems far too high.
At best I can see zen3 offering a 200-250mhz increase in max clock speeds.
 
Thanks for all this information guys, I wish I was as knowledgeable and in depth as you lot :( What sort of stuff is usually stored in the CPU Cache?

Also why do you benchmark on a single core?
 
Zen 3 (Ryzen 4000) its pretty much known now as a fact that it will have 50% higher Integer and 10% higher FP performance, with an all round IPC increase of about 17%, AMD have said this.

Clock speed increases are marginal if any, not that it needs it with that juicy lump of extra IPC.

Thanks for all this information guys, I wish I was as knowledgeable and in depth as you lot :( What sort of stuff is usually stored in the CPU Cache?

Also why do you benchmark on a single core?

Lots of stuff, i'll leave that for someone more knowledgable than me to answer.

Single core benchmarking is a good way to measure the IPC without a whole bunch of other aspects muddying the result, like SMT and Multithreading. Its just 'clean' that's all. :)
 
@Gerard so after watching your video ^^, does it mean the lesser the number the better for the pipeline?

Sorry for the silly question I just want to make sure I took it in right :p
 
IPC is like trying to complete a Rubik's cube.

Take a regular guy, sweat pouring from his face because he's working so hard to figure it out. Even though his brain is at 100% and his hands are twiddling the thing round at 5GHz speeds, it takes him days to figure it out. This guy is called Intel.

Along comes another guy called AMD. Ultra high IPC. A couple of twists and the Rubik's cube is complete. He didn't even break a sweat.

:D
 
@Gerard so after watching your video ^^, does it mean the lesser the number the better for the pipeline?

Sorry for the silly question I just want to make sure I took it in right :p

To put it in the simplest terms, just look at it as the improvement per core.

E.g. The IPC increased from the 2700x to the 3700x, they are both 8 core CPU's. But the 3700x has better IPC, therefore each core works better than the 2700x and can do more
 
Lookup some of the industry pro's like David Kanter if you are really interested and willing to sink a lot of time understanding this stuff.
 
Might be worth adding some context to things that determine IPC, or more importantly, those that constrain them. The balance between Instructions Per Clock and Clock Frequency is super complex and is a multi-dimensional optimisation problem for the engineers, one where they need to predict the future (of process & library characteristics) to get right...

There are architectural aspects, such as cores (whatever that means), instructions, cache size, cache latency, memory latency and memory bandwidth, etc. These make a big difference to performance under different workloads and will be the reason behind Intel having higher IPC in some tasks and AMD having higher IPC in other tasks: Some tasks fit different uarch's better than others.

My expertise is in the physical aspects, where you need to balance computation per clock (combinational logic -> IPC), maximum achievable frequency (combinational logic & routing delays -> Clock), static power consumption (process & design -> Clock), dynamic power consumption (process & design -> Clock), power density and heat density. All these factors are interrelated and a change to one will have knock-on effects to the others.
Higher clocks are generally better (if possible), as latencies associated with crossing clock domains and memories are lowered. However, as a rule the higher the target frequency, the more transistors that are required, which means higher power dynamic consumption, power density, heat density, etc.

Its worth noting that power density and heat density are becoming nightmarishly complex problems on their own in 7nm and beyond processes, but power density is particularly problematic. And no, they are not the same.

The point of the post is that IPC is a simple(ish) metric, but is incredibly complex in how it is manifested in the design and manufacture of processors. The argument about IPC and Clock that comes up quite a lot is a waste of time as well, performance per unit of power is far more useful.

PS: I'll expand on the above if anyone is interested, but it's probably not useful.
 
Back
Top Bottom