Cache块:
一个Catch块地址是由标记项+数据地址组成。其中标记项又根据题设有:有效位+标记位+一致性维护位(即脏位)+替换算法位,红色项一定存在,其余看题目条件。
混淆点:
但是做题的时候常常会搞混标记项和数据项的区别。标记项并不是简单的地址,准确的说应该是二进制单元组,既是Cache地址的组成,同时又是二进制存储单元。
而Cache块的数据项不一样,若是按字节编码,则一个二进制地址对应一个小单元格(单元格大小为1B),若是按字编码,若规定一个字长为32位,则一个二进制地址对应4个小单元格。从这里我们可以看出,数据项的地址就真的只是地址而已(数据项的单元格排列在实现上其实就是存储矩阵),就像酒店的门牌号,是不占空间的,真正占空间的是地址对应的若干个单元格,这和标记项是不同的。
所以很多题里就会看到让你算Cache总容量,其实就是通过算标记项的二进制数长度来算标记项的大小(单位为bit,也就是位),再加上存储容量的的大小(单位通常是B的倍数)。
相关题目计算:
给定主存容量,Catch存储容量,块的大小(Cache块和主存块大小是相同的,以块的方式交换信息),编址方式,映射方式,写策略。(有时给出替换算法,说明替换算法控制位的位数)
求Catch总容量。