问答题
以下是对矩阵进行转置的程序段: 假设该段程序运行的计算机中sizeof(int)=4,且只有一级cache,其中L1datacache的数据区大小为32B,采用直接映射、写回方式,块大小为16B,初始为空。数组dst从地址0000C000H开始存放,数组src从地址0000C040H开始存放。填写下表,说明数组元素src[row][col]和dst[row][col]映射到cache的哪一行,其访问是命中(hit)还是失效(miss)。若L1datacache的数据区容量改为128B时,重新填写表中内容。
从程序来看,数组访问过程如下:Src[0][0]、dst[0][0]、src[0][1]、dst......
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
问答题 在上述(2)中条件不变的情况下,如果将数组x定义为float[12],则数据访问的命中率是多少?
问答题 将上述(2)中的数据cache改用2-路组相联映射方式,块大小改为8字节,其他条件不变,则该程序数据访问的命中率是多少?
问答题 假定该段程序运行的计算机的数据cache采用直接映射方式,其数据区容量为32字节,每个主存块大小为16字节。假定编译程序将变量sum和i分配给寄存器,数组x存放在00000040H开始的32字节的连续存储区中,数组y紧跟在x后进行存放。试计算该程序数据访问的命中率,要求说明每次访问的cache命中情况。