C.ache共有64行,每行中有16位标志、1位有效位、1位修改(dirty)位、2位LRU位,以及数据64B。 故总容量为64×(16+1+1+2+64×8)=34048位。
问答题主存地址字段如何划分?要求说明每个字段的含义、位数和在主存地址中的位置。
问答题计算三个程序段A、B、C中的写操作次数、写不命中次数和写缺失率。
问答题画出主存中的数组元素和cache中行的对应关系图。
问答题对三个程序段A、B、C中数组访问的时间局部性和空间局部性进行分析比较。
问答题以下是对矩阵进行转置的程序段: 假设该段程序运行的计算机中sizeof(int)=4,且只有一级cache,其中L1 data cache的数据区大小为32B,采用直接映射、写回方式,块大小为16B,初始为空。数组dst从地址0000C000H开始存放,数组src从地址0000C040H开始存放。填写下表,说明数组元素src[row][col]和dst[row][col]映射到cache的哪一行,其访问是命中(hit)还是失效(miss)。若L1 data cache的数据区容量改为128B时,重新填写表中内容。