I dont know if im asking this right....like how does IPC gain and things like multithreading combine into a multiplier like that like ive heard around? Like what does that actually mean in practice?
ooof, this gets complex and way above what I know.
I think most poeple just look at IPC as instructions per clock. So a simple way to calculate how much work you're doing is just instructions per clock * clock speed. And just assume that a greater IPC means more throughput.
But it may not, it just might be simpler instructions for instance. So a well designed complex set of instructions to do something will result in more effective work with less IPC.
Perhaps AVX512 might be a good example if we're just talking about how different instruction sets can lead to different outcomes. AV512 does a but load of work, and will dramatically decrease your clock speed to do it.
I suspect though Zen 2 has come far enough along that the increase in IPC is also resulting to an increase in effective workloads, and I think people figure this (metric) through benchmarking.
As for multi-threading. Normally when your CPU thread hits some sort of stall, it's go to wait for that stall to finish before it can finish it's work. So in this case, hyper threading allows it to switch to another thread to do work there, and return to the original thread when the stall/block is done. So in this case the improvements really just comes from how long 'stalls' will be, you're just getting more efficiency out of your cores really, by removing as much downtime from thread stalling. So the gains here could be massive for say, standard CPU/OS side of things in which we are running and juggling multiple processes competing for resources. To very minimal, for a well optimized program should have very few stalls. Once again, you'd have to benchmark something to really see the difference with Hyper Threading in a game situation.
The honest TLDR; everything is just marketing until we see some solid benchmarking and how that benchmarking changes as code is optimized. So it may start somewhere but end somewhere else at a later time.
so all the marketed features need benchmarking, the SSDs need benchmarking, etc.