在 k-way set associative cache 中,cache 被分成 v 个集合,每个集合由 k 行组成。一组的行按顺序依次放置。集合 s 中的行排在集合 (s+1) 中的行之前。主存储器块从 0 开始编号。编号为 j 的主内存块必须映射到来自其中的任一高速缓存行。
(A) (j mod v) * k to (j mod v) * k + (k-1)
(B) (j mod v) 到 (j mod v) + (k-1)
(C) (j mod k) 到 (j mod k) + (v-1)
(D) (j mod k) * v 到 (j mod k) * v + (v-1)答案:(一)
说明:缓存中的集合数 = v。因此,主内存块 j 将被映射到集合 (j mod v),即从 (j mod v) * k 到 (j mod v) 的缓存行中的任何一条* k + (k-1)。
(结合性在映射中不起作用 – k 路结合性意味着一个块有 k 个空间,因此减少了替换的机会。)这个问题的测验