假设某计算机的主存地址空间大小为64KB,采用字节编址方式。其Cache数据区容量为4KB,采用4路组相联映射方式、LRU替换和回写(write back)策略,块大小为64B,并且每块设置了1位有效位。请问: 该Cache的总容量有多少位?

admin2017-04-28  23

问题 假设某计算机的主存地址空间大小为64KB,采用字节编址方式。其Cache数据区容量为4KB,采用4路组相联映射方式、LRU替换和回写(write back)策略,块大小为64B,并且每块设置了1位有效位。请问:
该Cache的总容量有多少位?

选项

答案因为采用写回策略,所以Cache每行中要有1个修改位;因为每组有4行,所以每行有两位LRU位。此外,每行还有6位标记位,1位有效位和64B数据,共有64行,故Cache的总容量为64×(6+1+1+2+64×8) =33 408位。 可能疑问点:为什么LRU位为2? 解析:因为Cache每组有4行,所以某一行调入之后,进行了2次或者3次替换也没有将其替换出去,那么其时间就为2(二进制表示:10)或者3(二进制表示:11),此时1位LRU位已经不能表示2或3,所以需要2位LRU位。以此类推,当Cache每组有N行,那么LRU位至少为:log2N(如果为小数,则向上取整,例如N=7,那么LRU位就需要3位)。

解析
转载请注明原文地址:https://kaotiyun.com/show/lWRi777K
0

最新回复(0)