2

RocketCore.scala我正在尝试解决 Rocket Chip Generator 是否支持集合关联 TLB(L1 和 L2 TLB),但我在or中找不到任何直接的代码PTW.scala。另一方面,更改缓存的关联性HellaCache.scala非常简单。

据我了解,L1 TLB 是完全关联的,而 L2 TLB 是直接映射的。

有没有一种简单的方法来改变我缺少的 Rocket Chip 上 TLB 的集合关联性?如果没有,您是否可以提供任何资源来帮助我在 Rocket Chip 中添加这些功能?

谢谢你。

4

1 回答 1

1

我自己在 Rocket Chip 上实现了可配置的 L1/L2 TLB,我的代码在上游并合并在Rocket Chip 官方存储库中。

为了更改 L1 TLB 的关联性和大小,您可以进行调整 nTLBSets, nTLBWays/src/main/scala/rocket/HellaCache.scala目前仅允许 2 组/方式的幂)。

对于 L2 TLB,您可以调整nL2TLBSets, nL2TLBWays./src/main/scala/rocket/RocketCore.scala

于 2021-03-12T13:19:01.440 回答