caching - 标记大小和缓存位练习
问题描述
我正在为明天到期的计算机体系结构考试而学习,并且一直在练习有关标记大小和缓存位总数的练习。这是问题:
Question 8:
This question deals with main and cache memory only.
Address size: 32 bits
Block size: 128 items
Item size: 8 bits
Cache Layout: 6 way set associative
Cache Size: 192 KB (data only)
Write Policy: Write Back
Answer: The tag size is 17 bits. The total number of cache bits is 1602048.
我知道这是一个失败的直接练习,但我似乎缺乏正确的公式。我也知道N个集合方式关联的结构是|TAG 25 bits|SET 2 bits|OFFSET 5 bits|。并且该标签大小 = AddrSize - Set - Offset(- 项目大小,如果有的话)因此给出了 17 位标签大小的答案。
但是,我该如何计算缓存位的总数?
解决方案
缓存大小(以字节为单位):192*1024 = 196608
块数:196608 / 128 = 1536
套数:1536 / 6 = 256
设置位数:log2(256) = 8
偏移数位:log2(128) = 7
标签大小:32-(8+7) = 17
元数据:有效+脏= 2位
总标签 + 元数据:(17+2)*1536 = 29184 位
总数据:1536*128*8 = 1572864 位
总规模:29184 + 1572864 = 1,602,048
也可能有用于替换策略的位,但我们可以假设它是随机的以使答案起作用。
推荐阅读
- keras - keras,如何在训练期间解释每个时期每个批次的输出(损失,acc 是根据什么数据计算的)
- postgresql - 运行匿名块时出错
- url - vcl中的hmac认证
- android - 无法写入内部存储中的文件
- python - 在函数回调中使用回调
- python - 使用 xpath 拉取信息
- php - PHP“致命错误:在空时调用成员函数prepare()”PHP PDO代码块上引发的错误
- java - java中高效的造词算法
- python - Python - Extract href value based on content value
- typescript - 打字稿:具有单个键的对象