在 Gem5 中使用倾斜关联缓存

问题描述

我正在尝试学习如何实现具有倾斜关联性的 L2 缓存。 我看到已经在下面实现了倾斜关联性的类(skewed_associative.cc/hh) /gem5/src/mem/cache/tags/indexing_policies/ 我想用这个开始。

我不明白的是如何访问这些文件并指定给定的缓存以充当倾斜关联。我是否需要创建一个从 basecache 继承的全新缓存类?或者有没有办法通过实现一个标签来做到这一点?

我仍在尝试弄清楚 gem5 是如何构建/工作的,因此将不胜感激任何数量的帮助或链接

解决方法

以上评论有助于找到解决方案。

在实例化给定缓存时,将其标签的 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()),options))