如何计算设置的关联缓存大小?

时间:2019-02-06 15:40:32

标签: caching cpu-cache

32位处理器具有双向关联高速缓存集,该高速缓存集使用32个地址位,如下所示:31-14标签,13-5索引,4-0偏移。

计算:

  1. 缓存行的大小(以字数为单位)
  2. 总缓存大小(以位为单位)

我不知道如何解决它,在幻灯片中,设置的关联缓存几乎没有任何内容。

解决方案:

  1. 2^3 = 8 words(剩余的3个偏移位已除去2个字节的字节地址)
  2. 2 * 2^9 * (1 + 18 + 8 * 2^5)

对于1不应该是2 ^(偏移位数),所以2 ^ 5? 对于2使用什么公式?

1 个答案:

答案 0 :(得分:1)

  1. 未给出单词的大小和可寻址的最小实体。但是,如果我们假设地址是面向字节的,并且一个字包含4个字节,则每行有2 ^ 5字节和2 ^ 3个字

  2. 2 * 2^9 * (1 + 18 + 8 * 2^5)

2 (number of ways/sets) * 2^9 (number of sets based on index) 
     * (1 (valid bit) + 18 (tag size) + 8 (bits/byte) * 2^5 (line size in bytes))