Skip to content

Query regarding inclusivity of Cache levels #638

Open

Description

@seemakurthi-anand

Hi,
I am working on December Release of Champsim. I wanted to know whether cache hierarchy is inclusive/non-inclusive/exclusive.
Could you please point out which files and which portion of code I need to look into for confirming the inclusivity property. Could you also please suggest what kind of basic checks I can do to confirm the nature of cache hierarchy.

Activity

  1. ngober commented on Jul 25, 2025

    @ngober
    Collaborator

    See the discussion in #350.

    The model is non-inclusive. There is no enforcement from the lower level to the upper level. The most basic check that you could do to verify this is a workload with small instruction footprint and large data footprint, where an eviction of instructions from the second level does not cause an L1I miss.

  2. seemakurthi-anand commented on Jul 26, 2025

    @seemakurthi-anand
    Author

    Hi,
    Thanks for your reply. #350 looks like huge discussion to go through. I will need some time to go through it . Between, could you please tell this non-inclusive nature is just for L2 or even for LLC.

  3. ngober commented on Jul 26, 2025

    @ngober
    Collaborator

    Yes, inclusivity is high on the wish list, but it's been difficult to get time devoted to it. All cache levels have identical cache models. The relationship between all pairs of cache levels is non-inclusive.

  4. seemakurthi-anand commented on Jul 29, 2025

    @seemakurthi-anand
    Author

    Thanks for your response. Also I could see some commits made for ship, drrip replacement policy regarding selecting the sampler sets and chosing the qty of sampler sets based on cache size(l2 or llc etc) #603 . Can I use this code to test DRRIP and SHiP before its visible in the final version on champsim. What are your suggestions regarding this??

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions