以下是计算两个向量点积的程序段:要求: (1)试分析该段代码中数组x和y的时间局部性和空间局部性,并推断命中率的高低。 (2)假定该段程序运行的计算机的数据cache采用直接映射方式,其数据区容量为32字节,每个主存块大小为16字节。假定编译程序将变量sum和i分配给寄存器,数组x存放在00000040H开始的32字节的连续存储区中,数组y紧跟在x后进行存放。试计算该程序数据访问的命中率,要求说明每次访问的cache命中情况。 (3)将上述(2)中的数据cache改用2-路组相联映射方式,块大小改为8字节,其他条件不变,则该程序数据访问的命中率是多少? (4)在上述(2)中条件不变的情况下,如果将数组x定义为float[12],则数据访问的命中率是多少?
出自:计算机科学