在 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))