Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • D dynamorio
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1,467
    • Issues 1,467
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 44
    • Merge requests 44
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • DynamoRIO
  • dynamorio
  • Issues
  • #1715
Closed
Open
Issue created Jun 29, 2015 by Derek Bruening@derekbrueningContributor

drcachesim: add config file for more complex cache configs

Split from #1703 (closed).

Initially our cache simulator only supports a simple 2-level hierarchy with homogeneous L1 caches. To support more complex cache layouts we would want to add a configuration-file-based input to describe them.

We would want to support heterogeneous peers at any level, any number of levels, and in fact perhaps any arbitrary tree. The only constraints would be that I vs D splits must be at the lower levels.

We would need to add a tree data struct to the cache handling code.

*** TODO have a default that doesn't need file

The default would be our existing 2-level, with perhaps the parameters matching the current underlying cpu.

*** TODO file format

Maybe something like this:

{
  type=unified
  associativity=16
  linesize=64
  size=8M
  replace=LRU
  children = {
    type=unified
    associativity=8
    linesize=64
    size=512K
    replace=LRU
    children = {
      type=data
      associativity=8
      linesize=64
      size=32K
      replace=LRU
    } repeat=4
    {
      type=instruction
      associativity=8
      linesize=64
      size=32K
      replace=LRU
    } repeat=4
  } repeat=4
}
Assignee
Assign to
Time tracking