如何计算设置关联缓存大小?
How to calculate set associative cache size?
一个 32 位处理器有一个双向关联缓存集,它使用 32 个地址位,如下所示:31-14 个标记,13-5 个索引,4-0 个偏移量。
计算:
- 缓存行的字数大小
- 以位为单位的总缓存大小
我不明白如何解决它,在我的幻灯片中几乎没有设置关联缓存。
解决方案:
2^3 = 8 words
(剩余3个偏移位去掉2个字节地址位)
2 * 2^9 * (1 + 18 + 8 * 2^5)
对于 1 不应该是 2^(偏移位数)所以 2^5?
2 使用的公式是什么?
未给出单词的大小和可寻址的最小实体。但是,如果我们假设地址是面向字节的并且一个字包含 4 个字节,则有 2^5 bytes/line 和 2^3 个字
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))
一个 32 位处理器有一个双向关联缓存集,它使用 32 个地址位,如下所示:31-14 个标记,13-5 个索引,4-0 个偏移量。
计算:
- 缓存行的字数大小
- 以位为单位的总缓存大小
我不明白如何解决它,在我的幻灯片中几乎没有设置关联缓存。
解决方案:
2^3 = 8 words
(剩余3个偏移位去掉2个字节地址位)2 * 2^9 * (1 + 18 + 8 * 2^5)
对于 1 不应该是 2^(偏移位数)所以 2^5? 2 使用的公式是什么?
未给出单词的大小和可寻址的最小实体。但是,如果我们假设地址是面向字节的并且一个字包含 4 个字节,则有 2^5 bytes/line 和 2^3 个字
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))