Are there applications where more cache is actively detrimental?
Are there applications where more cache is actively detrimental?
If AMD have traded a bit of access latency for their larger cache, then theoretically there will be a memory heavy application with a working set that fits in 16MB that will see a preformance hit.
Though, we don't know Zen 2 was running into area based speed limitations for it's L3 cache. It's entirely possible Zen 3's cache runs at the same speed.
Of course if you don't have enough memory at a given tier and are overflowing in to the next adding more will always make things better, but once you hit that point adding more just adds cost at best and might actually make things worse if it's slower for the extra capacity.
So there's a tradeoff between cache size and cache speed, which is why there are separate L1, L2, and L3 caches of various sizes. So potentially the L3 cache in this architecture could be slower than the L3 cache in the 3000 series. It could also be the same speed if the size was limited for other reasons, such as yield.
I'd expect the workloads that could suffer (all else equal) would be something like SIMD optimized matrix multiply where you're always able to prefetch the elements needed into cache effectively and memory access tends to be sequential. But those slight losses would likely be dwarfed by the improved core clocks, etc.
It's purely speculation but I suspect the cache size was limited by yield concerns rather than timing constraints. It looks like the 5600X has 1mb less cache so they probably engineered a way to disable faulty sections of the cache on a 1mb granularity.
Edit: My speculation's wrong. The cache difference between the 5700X and the 5600X is due to core count differences. It's the sum of the various cache sizes, and I misread the slide.
Is this true even for games that are CPU-bound? When I play MS Flight Simulator, enable the Dev toolbar, and look at the framerate monitor, it tells me that it's spending 20 ms of CPU time per frame, which causes my framerate to cap at 50 fps. A 20% increase in IPC would theoretically bring the frame time to 16.67 ms, giving me a cap of 60 fps.
Reviews/benchmarks of Flight Simulator by e.g. Gamers Nexus show that Flight Simulator is heavily CPU limited, running on a single CPU thread.
With 32KB L1 at 64B line size, you can only cache 512 lines. Grouping them in larger buckets means less spillage as hot lines randomly end up in the same bucket.
L1 code and L1 data caches are separate.
Wouldn't it be more accurate to say due to gate delay because of an additional level in (de)muxing?