在 Gem5 中使用倾斜关联缓存
Using a Skewed Associative Cache in Gem5
我正在尝试学习如何实现具有倾斜关联性的 L2 缓存。
我看到已经为偏斜关联性 (skewed_associative.cc/hh) 实现了 classes
/gem5/src/mem/cache/tags/indexing_policies/
我想用它来开始。
我不明白的是如何访问这些文件并指定给定的缓存作为倾斜关联。我是否需要创建一个继承自基本缓存的全新缓存 class?或者有没有办法通过实施新标签来实现?
我仍在努力弄清楚 gem5 有什么东西 structured/works,所以如果能提供任何帮助或链接,我们将不胜感激。
以上评论有助于找到解决方案。
在实例化给定缓存时,将其标签 indexing_policy 分配为 SkewedAssociative()
在configs/common/CacheConfig.py:
而不是:
system.l2 = l2_cache_class(clk_domain=system.cpu_clk_domain, **_get_cache_opts('l2', options))
你会
system.l2 = l2_cache_class(clk_domain=system.cpu_clk_domain, tags=BaseSetAssoc(indexing_policy=SkewedAssociative()), **_get_cache_opts('l2', options))
我正在尝试学习如何实现具有倾斜关联性的 L2 缓存。 我看到已经为偏斜关联性 (skewed_associative.cc/hh) 实现了 classes /gem5/src/mem/cache/tags/indexing_policies/ 我想用它来开始。
我不明白的是如何访问这些文件并指定给定的缓存作为倾斜关联。我是否需要创建一个继承自基本缓存的全新缓存 class?或者有没有办法通过实施新标签来实现?
我仍在努力弄清楚 gem5 有什么东西 structured/works,所以如果能提供任何帮助或链接,我们将不胜感激。
以上评论有助于找到解决方案。
在实例化给定缓存时,将其标签 indexing_policy 分配为 SkewedAssociative()
在configs/common/CacheConfig.py:
而不是:
system.l2 = l2_cache_class(clk_domain=system.cpu_clk_domain, **_get_cache_opts('l2', options))
你会
system.l2 = l2_cache_class(clk_domain=system.cpu_clk_domain, tags=BaseSetAssoc(indexing_policy=SkewedAssociative()), **_get_cache_opts('l2', options))