Why are split L2 caches unpopular?

By: anon2 (anon.delete@this.anon.com), May 30, 2020 4:37 pm
Room: Moderated Discussions
Separate L2i and L2d caches -- why aren't they more widely used? Itanium and mainframes often use them, but we could consider those to be rather extreme outliers. Processors like Apples with larger split L1 caches and a much larger unified L2 also have (I would say) good justification.

I'm talking about those which have small split L1s, quite a small unified L2 that's generally inclusive at least of the L1d, and a large L3 -- Intel, AMD, POWER, ARM Inc.

I am aware that a shared cache can be more flexible and provide a significant hit-rate advantage over split caches of half the size, but with ever-increasing realestate available for infrequently switched transistors, and congestion remaining an issue in critical parts of the core, I wonder why it doesn't make sense to split the L2 rather than put the (still very important) L1 miss paths into the same L2, surely at the cost of wiring complexity and latency compromise for at least one of the paths. The L2 refill can be far less critical (narrower busses into the L3, less wire over critical core logic, less timing pressure).

It also gives the L2s more possibility to be optimized for their function. L2i not requiring write-back or error correction, but could easily contain a pre-decoder and pre-decode bits, for example.

Yes, i/d caches must be kept coherent, but the instances where data is stored to a line is actually contained in the icache are not a critical fast path. Nobody does real self modifying code any more, and no, JIT recompilation or occasional page faults that re-use previously used page for different purpose are not fast paths on the order of nanoseconds that couldn't tolerate some cycles to flush such lines.

Anyone have better ideas? Maybe the L1->L2 paths are simply not that critical or congested.
 Next Post in Thread >
TopicPosted ByDate
Why are split L2 caches unpopular?anon22020/05/30 04:37 PM
  Why are split L2 caches unpopular?anonymou52020/05/30 04:50 PM
    Why are split L2 caches unpopular?anon22020/05/30 04:58 PM
      Why are split L2 caches unpopular?Poindexter2020/06/02 10:18 AM
  Why are split L2 caches unpopular?Anon2020/05/30 05:48 PM
    Why are split L2 caches unpopular?anon22020/05/30 06:19 PM
      Why are split L2 caches unpopular?anonymou52020/05/30 06:31 PM
      Why are split L2 caches unpopular?Anon2020/05/30 06:59 PM
        Why are split L2 caches unpopular?Maynard Handley2020/06/01 12:43 AM
          Why are split L2 caches unpopular?Michael S2020/06/01 12:53 AM
            none is correct, shared L2 gone since Cortex A75 (NT)Michael S2020/06/01 01:11 AM
            Why are split L2 caches unpopular?Maynard Handley2020/06/01 08:07 AM
              Why are split L2 caches unpopular?Dummond D. Slow2020/06/01 02:16 PM
          Why are split L2 caches unpopular?none2020/06/01 12:54 AM
          Why are split L2 caches unpopular?Anon2020/06/01 07:46 AM
            OoO scheduling for variable latencyP2020/06/02 06:29 AM
    Why are split L2 caches unpopular?rwessel2020/05/30 07:08 PM
  Why are split L2 caches unpopular?Jörn Engel2020/05/31 08:35 AM
  Why are split L2 caches unpopular?Michael S2020/06/01 01:27 AM
    Static power costs?Paul A. Clayton2020/06/02 06:41 AM
  Why are split L2 caches unpopular?Paul A. Clayton2020/06/02 06:16 AM
  Why are split L2 caches unpopular?Dan Fay2020/06/02 02:10 PM
    Why are split L2 caches unpopular?Michael S2020/06/02 02:25 PM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell purple?