索引策略
索引策略根据地址确定块映射到的位置。
索引策略的最重要方法是getPossibleEntries()和regenerateAddr():
-
getPossibleEntries()确定给定地址可以映射到的条目列表。
-
regenerateAddr()使用存储在条目中的地址信息来确定其完整的原始地址。
关于缓存索引策略的更多信息,请参考维基百科文章:放置策略 和 关联性。
组关联
组关联索引策略是类似表结构的标准,可以进一步分为直接映射(或1路组关联)、组关联和全关联(N路组关联,其中N是表条目的数量)。
组关联缓存可以看作是一种偏置关联缓存,其偏置函数对每条路径映射到相同的值。
偏置关联
偏置关联索引策略基于哈希函数具有可变映射,因此一个值x可以根据使用的路径被映射到不同的组。Gem5实现了Seznec等人描述的“偏置关联缓存”。
注意,只有有限数量的哈希函数实现,因此如果路径数高于这个数目,那么将使用一个次优的自动生成的哈希函数。